gpt4 book ai didi

javascript - 在 Angular-Google-Maps 中添加标记

转载 作者:可可西里 更新时间:2023-11-01 02:01:11 24 4
gpt4 key购买 nike

我目前在点击 Google map 时添加标记时遇到了一些问题。我正在使用 http://angular-ui.github.io .

这是我的代码:HTML:

<ui-gmap-google-map center='map.center' zoom='map.zoom' events="map.events">
<ui-gmap-marker coords="map.marker.coords" idKey="map.marker.id"></ui-gmap-marker>
</ui-gmap-google-map>

还有我的 JS:

$scope.map = {
center: {
latitude: alat.value, longitude: alon.value },
zoom: 15,
streetViewControl: false,
events: {
click: function (map, eventName, originalEventArgs) {
var e = originalEventArgs[0];
var lat = e.latLng.lat(),lon = e.latLng.lng();
$scope.map.marker = {
id: 1,
coords: {
latitude: lat,
longitude: lon
}
};
$scope.$apply();
}
}
};

我一直在关注 Angular-Google-Maps API,但我对 Google Maps API 的了解还不够出色。到目前为止,我已经推断出我的点击事件确实有效,但我的标记没有被添加到 map 中。帮助将不胜感激。

最佳答案

我创建了 fiddle .这是 HTML。

<div ng-app="main" ng-controller="mainCtrl">
<ui-gmap-google-map center="map.center" zoom="map.zoom" draggable="true" events="map.events">
<ui-gmap-marker ng-repeat="m in map.markers" coords="m.coords" icon="m.icon" idkey="m.id"></ui-gmap-marker>
</ui-gmap-google-map>
</div>

Controller 是这样的

angular.module('main', ['uiGmapgoogle-maps'])
.controller('mainCtrl', function ($scope) {

angular.extend($scope, {
map: {
center: {
latitude: 42.3349940452867,
longitude:-71.0353168884369
},
zoom: 11,
markers: [],
events: {
click: function (map, eventName, originalEventArgs) {
var e = originalEventArgs[0];
var lat = e.latLng.lat(),lon = e.latLng.lng();
var marker = {
id: Date.now(),
coords: {
latitude: lat,
longitude: lon
}
};
$scope.map.markers.push(marker);
console.log($scope.map.markers);
$scope.$apply();
}
}
}
});
});

关于javascript - 在 Angular-Google-Maps 中添加标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30910883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com