- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 Angular 还很陌生,正试图尝试使用 Angular 谷歌地图。
我的要求。我有一个搜索栏,用于搜索餐馆。搜索结果 api 为我提供了用户搜索的餐厅的地址、纬度和经度。我想要的是在 map 上显示一个映射餐厅位置的标记。
我试过了 https://github.com/nlaplante/angular-google-maps/ .它呈现 map 但不将 map 居中到我想要的纬度和经度。显然我试图从搜索 api 映射纬度和经度
我想知道是否有人有与我类似的用例并且有一个我可以效仿的例子。
感谢您的帮助。
最佳答案
更新:下面的链接似乎已经失效。使用这个:http://angular-ui.github.io/angular-google-maps/#!/
听起来这里的例子就是您要的:http://nlaplante.github.io/angular-google-maps/#!/demo
查看 DemoController 的源代码(http://nlaplante.github.io/angular-google-maps/js/demo-controller.js):
module.controller("DemoController", function ($scope, $location) {
$scope.$watch("activeTab", function (newValue, oldValue) {
if (newValue === oldValue) {
return;
}
if ($location.path() != $scope.activeTab) {
$location.path($scope.activeTab);
}
});
$scope.getNavClass = function (item) {
return item == $scope.activeTab ? "active" : "";
};
// default location
$scope.center = {
latitude: 45,
longitude: -73
};
$scope.geolocationAvailable = navigator.geolocation ? true : false;
$scope.latitude = null;
$scope.longitude = null;
$scope.zoom = 4;
$scope.markers = [];
$scope.markerLat = null;
$scope.markerLng = null;
$scope.addMarker = function () {
$scope.markers.push({
latitude: parseFloat($scope.markerLat),
longitude: parseFloat($scope.markerLng)
});
$scope.markerLat = null;
$scope.markerLng = null;
};
$scope.findMe = function () {
if ($scope.geolocationAvailable) {
navigator.geolocation.getCurrentPosition(function (position) {
$scope.center = {
latitude: position.coords.latitude,
longitude: position.coords.longitude
};
$scope.$apply();
}, function () {
});
}
};
});
您可以使用 $scope.center 告诉 map 在哪里居中。
希望这对您有所帮助!
关于javascript - 基本的 AngularJS 谷歌地图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17128790/
leaflet:一个开源并且对移动端友好的交互式地图 JavaScript 库 中文文档: https://leafletjs.cn/reference.html 官网(英文): ht
我是一名优秀的程序员,十分优秀!