AngularJS + Google Maps不显示标记

Madsongr

我有一个在$ scope.mapCreated上正常工作的标记。现在,我试图在用户单击$ scope.centerOnMe()时显示另一个标记,但仅显示当前位置而不显示标记。

我必须使用此示例还是有最简单的解决方案?

控制器

.controller('mapCtrl', ['$scope', '$state', '$ionicLoading', function($scope, $state, $ionicLoading){

$scope.mapCreated = function(map) {

    var latlngPlace = new google.maps.LatLng(-27.4264356, -51.7838787);
    var marker = new google.maps.Marker({
        map: map,
        position: latlngPlace
    });

    $scope.map = map;
};

$scope.centerOnMe = function () {
console.log("Centering");
if (!$scope.map) {
  return;
}

$scope.loading = $ionicLoading.show({
  content: 'Wait...',
  showBackdrop: false
});

navigator.geolocation.getCurrentPosition(function (pos) {
  console.log('Got pos', pos);

  $scope.map.setCenter(new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude));

    var myPlace = new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude);

    var marker2 = new google.maps.Marker({
        position: myPlace
    });


  $ionicLoading.hide();

}, function (error) {

    console.log('Error' + error.message)
});
};    

}])

指令.js

angular.module('app.directives', [])

.directive('map', function(){

return {
restrict: 'E',
scope: {
  onCreate: '&'
},
link: function ($scope, $element, $attr) {
  function initialize() {
    var mapOptions = {
      center: new google.maps.LatLng(-27.426102, -51.784999),
      zoom: 16,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map($element[0], mapOptions);

    $scope.onCreate({map: map});

    // Stop the side bar from dragging when mousedown/tapdown on the map
    google.maps.event.addDomListener($element[0], 'mousedown', function (e)  {
      e.preventDefault();
      return false;
    });
  }

  if (document.readyState === "complete") {
    initialize();
  } else {
    google.maps.event.addDomListener(window, 'load', initialize);
  }
}
}

});

map.html

<ion-view title="Map" id="page9" style="background-color:#FFFFFF;">
<ion-content>
    <map on-create="mapCreated(map)"></map>
</ion-content>
<ion-footer-bar class="bar-stable bar-calm">
  <a ng-click="centerOnMe()" class="button button-icon icon ion-navigate">FindMe</a>
</ion-footer-bar>
</ion-view>
Madsongr

它只是缺少地图:$ scope.map

var myPlace = new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude);

var marker2 = new google.maps.Marker({
    map: $scope.map,
    position: myPlace
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在InfoWindow中显示Google Maps标记的纬度和经度

来自分类Dev

(angularjs-google-maps)ng在标记内单击

来自分类Dev

Google Maps的AngularJS路由

来自分类Dev

如何使用angularjs和Google Maps更改图标标记

来自分类Dev

AngularJS不显示模板

来自分类Dev

带有多个标记的AngularJS Google Map

来自分类Dev

Google Maps Markers和AngularJS

来自分类Dev

AngularJS中Google Maps的路线标记

来自分类Dev

使用AngularJS在Google Maps中实现标记

来自分类Dev

Google Maps API自定义图标标记不会显示

来自分类Dev

ReactJS和Google Maps-显示标记

来自分类Dev

Google Maps标记未显示javascript

来自分类Dev

使用Google Maps API显示标记

来自分类Dev

无法使AngularJS Google Map居中/ AngularJS Google Maps API的使用

来自分类Dev

Google Maps API-标记未显示

来自分类Dev

Google Maps的AngularJS路由

来自分类Dev

Android Google Maps多个标记未显示

来自分类Dev

如何使用angularjs和Google Maps更改图标标记

来自分类Dev

Google Maps jQuery标记未显示

来自分类Dev

Google MarkerClusterer不显示标记

来自分类Dev

Google Maps API-地图不显示

来自分类Dev

AngularJs和Google Maps问题:不显示标记?

来自分类Dev

Google Maps Directions服务不显示

来自分类Dev

不显示视图AngularJS

来自分类Dev

添加标记时的离子angularjs-google-maps TypeError

来自分类Dev

Google Maps API:未显示标记

来自分类Dev

Google Maps标记图钉未显示

来自分类Dev

AngularJs-Google-Maps标记未显示

来自分类Dev

Google Maps API 不再显示路线或标记