【问题标题】:Add markers to google maps from external api url?从外部 api url 向谷歌地图添加标记?
【发布时间】:2017-03-23 14:43:08
【问题描述】:

我需要从 api 的 url 中添加谷歌地图地图中的所有标记,例如 http://192.168.99.100:8080/api/v1/location 这个 url 显示:

[{"nid":"23","title":"Acopio en xalapa","created":"1478207996","modified":"1478207996","body":"Acopio en xalapa","cover":"http:\/\/192.168.99.100:8080\/sites\/default\/files\/styles\/original\/public?itok=GVqc4SZo","category":{"title":"Centro de acopio","detail":""},"address":"Venustiano carranza xalapa, veracruz","lat":"-123.1465","lng":"49.3026"},{"nid":"19","title":"Sucursal 1","created":"1476996732","modified":"1477666258","body":"esta es una sucursal muy bonita","cover":"http:\/\/192.168.99.100:8080\/sites\/default\/files\/styles\/original\/public?itok=GVqc4SZo","category":{"title":"Sucursal","detail":""},"address":"Av tripulacion #34, col. nolose","lat":"-123.146567","lng":"49.302600"}]

我必须根据该 url 生成的 json 的纬度 (lat) 和长度 (lng) 显示地图中的所有标记。

感谢您的帮助。

【问题讨论】:

    标签: jquery json google-maps google-maps-api-3


    【解决方案1】:

    您的内容似乎是一个对象数组,然后假设您的结果 url 分配在名为 my_var 的 var 上,您可以通过这种方式访问​​

     my_var[0].nid  // 23
     my_var[0].title// Acopio en xalapa
     .....
     my_var[0].address // Venustiano carranza xalapa, veracruz
     my_var[0].lat  // -123.1465
     my_var[0].lng  // 49.3026
    
     my_var[1].nid  // 19
     my_var[1].title// Sucursal 1
     .....
     my_var[1].address // Av tripulacion #34, col. nolose
     my_var[1].lat  // -123.146567
     my_var[1].lng  //49.302600
    

    假设您能够创建地图,您可以使用标记填充地图

    var markers = [];
    
    for (i=0; i<my_var.length; i++){
      markers[i] = new google.maps.Marker({
        position: new google.maps.LatLng( my_var[i].lat, my_var[i].lng),
        map: image
      });
    

    【讨论】:

    • 嗨,@scaisEdge 在每个 my_var [0] 中。nid 的值为零将是获取值的 for 的索引 [i]?你能给我一个更完整的例子吗
    • 所提供的答案基于您问题中的数据样本。在您的问题中,数组中只有 2 个元素(对象),所以我发布了 my_var[0] 和 my_var[1] 进行解释您如何访问该值。但是对于一般解决方案..您可以正确地迭代烤箱数组(使用循环)并且您可以使用 my_var[i] 访问每个元素(其中 i 是迭代的索引)..我希望这能澄清我的答案
    • 我明白,我的问题是基于 url 192.168.99.100:8080/api/v1/location,我想动态显示所有 json 标记,并将它们放在地图上。在该网址中,我可以从后端添加更多 lat 和 lng,因此我希望它是动态的,而不仅限于示例中的那些。
    • 我已经更新了答案.. 希望很清楚.. 更简单或更动态的需要编码服务.. 不是这样
    猜你喜欢
    • 2020-10-12
    • 1970-01-01
    • 2013-02-02
    • 2014-07-07
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    相关资源
    最近更新 更多