Google地图-经纬度或邮政编码

Spufferoo

我有以下代码根据一系列位置在Google地图上显示标记,但是我混合了邮政编码和纬度/经度,但我曾使用地址解析器将邮政编码转换为纬度/经度,但不能尝试设置标记时使用它们。

谢谢你的帮助!

var geocoder;  
var map;  
var pos;  
var geoLat;  
var geoLong;  
var markers = [];  
var bounds = new google.maps.LatLngBounds();  
var locations = [  
    [null, 'London Eye, London', 51.503454,-0.119562, 4]  
    ,[null, 'Palace of Westminster, London', 51.499633,-0.124755]  
    ,[null, 'The London Dungeon', 'SE1 7PB', ,  2]  //Value with Postcode
];  

function isNumber(o) { return ! isNaN (o-0) && o !== null && o !== "" && o !== false; }  

function init() {  
  geocoder = new google.maps.Geocoder();  
  var num_markers = locations.length;  

  map = new google.maps.Map(document.getElementById('map_canvas'), {  
    zoom: 10,  
    center: new google.maps.LatLng(locations[0][2], locations[0][3]),  
    mapTypeId: google.maps.MapTypeId.ROADMAP   
  });  

  for (var i = 0; i < num_markers; i++) {  
    if (isNumber (locations[i][2]) && isNumber (locations[i][3])){  
      geoLat = locations[i][2]  
      geoLng  = locations[i][3]  
      alert(typeof(geoLat) +' '+typeof(geoLng))  //generates a correct  number number response
    }else{  
      geocoder.geocode( { 'address': locations[i][2]}, function(results, status) {  
        if (status == google.maps.GeocoderStatus.OK) {  
          geoLat = results[0].geometry.location.lat()  
          geoLng = results[0].geometry.location.lng()  
          alert(typeof(geoLat) +' '+typeof(geoLng))   //generates a correct  number number response 
        }  
      });  
    }  

    pos = new google.maps.LatLng(geoLat, geoLng);  // Doesn't get value if a geocodes postcode added in
    bounds.extend(pos);  
    map.fitBounds(bounds);  

    markers[i] = new google.maps.Marker({  
      position: pos,  
      map: map,  
      id: i,  
      title: locations[i][1]  
    });  
  }  
}  

    google.maps.event.addDomListener(window, 'load', init);
孤独的狼

Geolocation请求是一个异步调用,这意味着您的脚本正在运行,而API请求尚未完成。因此,您有两个选择。

直接在回调函数中定义标记

 if (status == google.maps.GeocoderStatus.OK) {  }

或写某事。类似于setMarker()函数,并在回调中调用它。

function setMarker(lat, lng){}

通常,最好使Geocoding请求成为一个函数,例如:

doGeocode: function (address, postal_code, callback) {
    console.log("TEST: " + address.toString());
    var geocoder = new google.maps.Geocoder();
    geocoder.geocode({
        'address': address,
        'componentRestrictions': {
            'postalCode': postal_code,
            'country': 'de'
        }
    }, function (results, status) {
        if (status === google.maps.GeocoderStatus.OK) {
            console.log(results);
            callback(results);
        } else {
            //Error handling
            alert('Geocode was not successful for the following reason: ' + status);
        }
    });

如果您现在要调用它,那就做

doGeocode (adress, postal_code, function (response){

 //do your stuff
)};

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Google地图中获取具有经度和纬度的地址和邮政编码

来自分类Dev

Cakephp从经纬度Google地图获取地址

来自分类Dev

解析经纬度后,我的Google地图无法工作

来自分类Dev

Google地图的经纬度地址始终显示中文位置

来自分类Dev

将经纬度参数发送到Google地图

来自分类Dev

经纬度的世界地图

来自分类Dev

如何在 Laravel 5.7 中使用 Cron Job 将经纬度从邮政编码更新到数据库

来自分类Dev

如何通过值的顺序经纬度的ArrayList排序地图经纬度,字符串

来自分类Dev

使用Google Maps API将邮政编码转换为纬度/经度坐标吗?

来自分类Dev

如何使用带有PHP的Google Maps API将邮政编码转换为经/纬度?

来自分类Dev

在R中创建邮政编码地图?

来自分类Dev

Google地图:从已知的起始位置获取给定的经纬度

来自分类Dev

必应地图上的经纬度街景网址参数

来自分类Dev

如何借助经纬度在谷歌地图上绘制路线?

来自分类Dev

如何返回Google地图标记的城市,街道和邮政编码?

来自分类Dev

更新经纬度概述_path Google Maps

来自分类Dev

从Google Map Intent获取经纬度

来自分类Dev

Google Maps Api 动态获取经纬度

来自分类Dev

如何使用经纬度坐标计算Google地图上两条路径线之间的角度

来自分类Dev

将经纬度传递给Google地图。需要有人帮助我更正我的代码

来自分类Dev

在R中的地图上绘制英国邮政编码

来自分类Dev

谷歌地图 API 搜索特定国家的邮政编码

来自分类Dev

如何使用输入的邮政编码将谷歌地图居中

来自分类Dev

QGIS和PostGIS(地图点(美国地图上的经纬度与经度)

来自分类Dev

部分邮政编码在Bing地图上返回正确的结果,而完整的邮政编码则没有

来自分类Dev

打开通知时如何在地图上显示经纬度点?

来自分类Dev

尝试通过经纬度坐标设置地图时无法正确显示位置

来自分类Dev

如何使用Leaflet.js获得所需的经纬度值,以仅显示地图的所需部分?

来自分类Dev

使用经纬度在地图上放置位置时如何使用zoomToMapObject

Related 相关文章

  1. 1

    在Google地图中获取具有经度和纬度的地址和邮政编码

  2. 2

    Cakephp从经纬度Google地图获取地址

  3. 3

    解析经纬度后,我的Google地图无法工作

  4. 4

    Google地图的经纬度地址始终显示中文位置

  5. 5

    将经纬度参数发送到Google地图

  6. 6

    经纬度的世界地图

  7. 7

    如何在 Laravel 5.7 中使用 Cron Job 将经纬度从邮政编码更新到数据库

  8. 8

    如何通过值的顺序经纬度的ArrayList排序地图经纬度,字符串

  9. 9

    使用Google Maps API将邮政编码转换为纬度/经度坐标吗?

  10. 10

    如何使用带有PHP的Google Maps API将邮政编码转换为经/纬度?

  11. 11

    在R中创建邮政编码地图?

  12. 12

    Google地图:从已知的起始位置获取给定的经纬度

  13. 13

    必应地图上的经纬度街景网址参数

  14. 14

    如何借助经纬度在谷歌地图上绘制路线?

  15. 15

    如何返回Google地图标记的城市,街道和邮政编码?

  16. 16

    更新经纬度概述_path Google Maps

  17. 17

    从Google Map Intent获取经纬度

  18. 18

    Google Maps Api 动态获取经纬度

  19. 19

    如何使用经纬度坐标计算Google地图上两条路径线之间的角度

  20. 20

    将经纬度传递给Google地图。需要有人帮助我更正我的代码

  21. 21

    在R中的地图上绘制英国邮政编码

  22. 22

    谷歌地图 API 搜索特定国家的邮政编码

  23. 23

    如何使用输入的邮政编码将谷歌地图居中

  24. 24

    QGIS和PostGIS(地图点(美国地图上的经纬度与经度)

  25. 25

    部分邮政编码在Bing地图上返回正确的结果,而完整的邮政编码则没有

  26. 26

    打开通知时如何在地图上显示经纬度点?

  27. 27

    尝试通过经纬度坐标设置地图时无法正确显示位置

  28. 28

    如何使用Leaflet.js获得所需的经纬度值,以仅显示地图的所需部分?

  29. 29

    使用经纬度在地图上放置位置时如何使用zoomToMapObject

热门标签

归档