Я новичок в API карт google и использую код ниже. Каким-то образом маркер не отображается на карте. Я использую Google Maps API v3.Google maps marker не отображается
.controller('MapCtrl', ['$scope',
function MapCtrl($scope) {
var ll = new google.maps.LatLng(38.895112, -77.036366);
$scope.mapOptions = {
center: ll,
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
$scope.onMapIdle = function() {
if ($scope.myMarkers === undefined){
var marker = new google.maps.Marker({
map: $scope.myMap,
position: ll
});
$scope.myMarkers = [marker, ];
}
};
$scope.markerClicked = function(m) {
window.alert("clicked");
};
}
])
html-код выглядит следующим образом;
<div ng-app='localAdventuresApp'>
<div ng-controller="MapCtrl">
<div id="map_canvas" ui-map="myMap"
style="height:300px;width:400px;border:2px solid #777777;margin:3px; border:1px solid"
ui-options="mapOptions"
ui-event="{'map-idle' : 'onMapIdle()'}"
>
</div>
<div ng-repeat="marker in myMarkers" ui-map-marker="myMarkers[$index]"
ui-event="{'map-click': 'markerClicked(marker)'}">
</div>
</div>
</div>
Откуда: $ scope.myMap? Где объект 'google.maps.Map' создается и присваивается' $ scope.myMap'? –
Андре, какие изменения вы предлагаете в моем коде? – Newbee
Андре спрашивает, где у вас в коде есть что-то подобное: '$ scope.myMap = new google.maps.Map (document.getElementById ('map-canvas'), mapOptions);' Похоже, вы не инициируете карта. – winkerVSbecks