使用AngularJS在Google Maps中实现标记

Aashir shukla

我在将JSON数据作为标记usign Angular实现到Google Maps时遇到问题。我的JSON数据是:

 [
  {
    "_id": "TRK45679101121",
    "timestamp": "2015-02-03T09:18:02.989Z",
    "status": 1,
    "path": [
      {
        "timestamp": 51422955082989,
        "speed": 30,
        "direction": 45.510029,
        "longitude": 81.510029,
        "latitude": 8.675009
      }
    ]
  },
  {
    "_id": "TRK456799",
    "timestamp": "2015-02-03T09:18:02.989Z",
    "status": 1,
    "path": [
      {
        "timestamp": 51422955082989,
        "speed": 30,
        "direction": 45.510029,
        "longitude": 81.510029,
        "latitude": 8.675009
      }
    ]
  },
  {
    "_id": null,
    "timestamp": "2016-01-22T08:10:43.238Z",
    "status": null,
    "path": null
  }
]

您知道如何通过JavaScript阅读并将其集成到Google Maps API中吗?任何帮助将不胜感激,在此先感谢。

注意:我只需要实现纬度和经度。如果单击了标记,则需要显示“ _id”和“状态”,我将在以后进行研究。

用户名

这是一个例子。Angular控制器使用全局变量中包含的JSON数据,mydata并使用它向地图添加一些标记。标记的信息也可以在Angular中找到$scope

var mydata = [{
  "_id": "TRK45679101121",
  "timestamp": "2015-02-03T09:18:02.989Z",
  "status": 1,
  "path": [{
    "timestamp": 51422955082989,
    "speed": 30,
    "direction": 45.510029,
    "longitude": 31.510029,
    "latitude": 8.675009
  }]
}, {
  "_id": "TRK456799",
  "timestamp": "2015-02-03T09:18:02.989Z",
  "status": 1,
  "path": [{
    "timestamp": 51422955082989,
    "speed": 30,
    "direction": 45.510029,
    "longitude": 32.510029,
    "latitude": 12.675009
  }]
}];

//Angular App Module and Controller
angular.module('mapsApp', [])
  .controller('MapCtrl', function($scope,$http) {

    var mapOptions = {
      zoom: 4,
      center: new google.maps.LatLng(31, 8),
      mapTypeId: google.maps.MapTypeId.TERRAIN
    }

    $scope.map = new google.maps.Map(document.getElementById('map'), mapOptions);

    $scope.markers = [];

    var infoWindow = new google.maps.InfoWindow();

    var createMarker = function(lat, lng) {

      var marker = new google.maps.Marker({
        map: $scope.map,
        position: new google.maps.LatLng(lat, lng),
        title: "lat: " + lat + ",lng: " + lng
      });

      $scope.markers.push(marker);

    }
    
    $http({method: 'GET', url: "http://maps.google.com/maps/api/geocode/json?address=Canada&sensor=true&region=USA"}).
        success(function(data, status) {
          $scope.status = status;
          $scope.JSONdata = data;
          console.log(JSON.stringify(data));
        }).
        error(function(data, status) {
          $scope.JSONdata = data || "Request failed";
          $scope.status = status;
          console.log($scope.data+$scope.status);
      });
    

    for (i = 0; i < mydata.length; i++) {
      console.log(mydata[i]["path"][0]["longitude"], mydata[i]["path"][0]["latitude"]);
      createMarker(mydata[i]["path"][0]["longitude"],mydata[i]["path"][0]["latitude"]);
    }

  });
#map {
  height: 420px;
}
<script src="https://maps.googleapis.com/maps/api/js?key=&sensor=false&extension=.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="mapsApp" ng-controller="MapCtrl">
  <H3>
Markers
</H3>
  <div id="class" ng-repeat="marker in markers | orderBy : 'title'">
    {{marker.position}}
  </div>
</div>

<div id="map"></div>

编辑:要从远程HTTP服务器检索JSON数据,请使用Angular的$http在示例中,响应数据保存在中,$scope.JSONdata并且可以代替mydata

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Xamarin中实现Google Maps的标记集群

来自分类Dev

如何在Xamarin中实现Google Maps的标记集群

来自分类Dev

AngularJS中Google Maps的路线标记

来自分类Dev

如何使用Ionic&Angular在Google Maps API v3中实现居中标记

来自分类Dev

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

来自分类Dev

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

来自分类Dev

在Google Maps Android中动态更新标记

来自分类Dev

更改Google Maps方向中的单个标记

来自分类Dev

数组列表中Google Maps上的标记

来自分类Dev

在Angular-Google-Maps中添加标记

来自分类Dev

在Google Maps标记中创建标签

来自分类Dev

数组列表中Google Maps上的标记

来自分类Dev

在Google Maps标记中创建标签

来自分类Dev

AngularJS + Google Maps不显示标记

来自分类Dev

AngularJs-Google-Maps标记未显示

来自分类Dev

无法在Google Maps中实现getMapAsync

来自分类Dev

如何在Fragment中实现Google Maps并使用GoogleMap对象?

来自分类Dev

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

来自分类Dev

无法使用angular-google-maps中的标记标签打开标记窗口

来自分类Dev

让用户在Android Studio中的Google Maps中更改标记的标题

来自分类Dev

Google Maps无法使用angularjs加载

来自分类Dev

使用 AngularJS 动态加载 Google Maps API

来自分类Dev

如何使用angularjs实现google +登录

来自分类Dev

Android Google Maps,如何在标记中添加链接

来自分类Dev

无法在Google Maps Symbols(svg)标记中填充颜色

来自分类Dev

Google Maps API中带有图像和数字的标记

来自分类Dev

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

来自分类Dev

如何在vue-google-maps中更改标记图标

来自分类Dev

为Google Maps列表中的每个纬度创建标记

Related 相关文章

  1. 1

    如何在Xamarin中实现Google Maps的标记集群

  2. 2

    如何在Xamarin中实现Google Maps的标记集群

  3. 3

    AngularJS中Google Maps的路线标记

  4. 4

    如何使用Ionic&Angular在Google Maps API v3中实现居中标记

  5. 5

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

  6. 6

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

  7. 7

    在Google Maps Android中动态更新标记

  8. 8

    更改Google Maps方向中的单个标记

  9. 9

    数组列表中Google Maps上的标记

  10. 10

    在Angular-Google-Maps中添加标记

  11. 11

    在Google Maps标记中创建标签

  12. 12

    数组列表中Google Maps上的标记

  13. 13

    在Google Maps标记中创建标签

  14. 14

    AngularJS + Google Maps不显示标记

  15. 15

    AngularJs-Google-Maps标记未显示

  16. 16

    无法在Google Maps中实现getMapAsync

  17. 17

    如何在Fragment中实现Google Maps并使用GoogleMap对象?

  18. 18

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

  19. 19

    无法使用angular-google-maps中的标记标签打开标记窗口

  20. 20

    让用户在Android Studio中的Google Maps中更改标记的标题

  21. 21

    Google Maps无法使用angularjs加载

  22. 22

    使用 AngularJS 动态加载 Google Maps API

  23. 23

    如何使用angularjs实现google +登录

  24. 24

    Android Google Maps,如何在标记中添加链接

  25. 25

    无法在Google Maps Symbols(svg)标记中填充颜色

  26. 26

    Google Maps API中带有图像和数字的标记

  27. 27

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

  28. 28

    如何在vue-google-maps中更改标记图标

  29. 29

    为Google Maps列表中的每个纬度创建标记

热门标签

归档