如何在谷歌地图API中使用邮政编码Lat和Lng [英] How to use zip code instead Lat and Lng in Google maps API

查看:135
本文介绍了如何在谷歌地图API中使用邮政编码Lat和Lng的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道是否有办法使用邮政编码代替Lat和Lng,使用这个片段或使用地理编码请求。

I wonder if there is a way to use zipcode instead of Lat and Lng, using this snippet or using Geocoding Requests.

    <script type="text/javascript">
        function initialize() {
            var latlng = new google.maps.LatLng(22.1482635,-100.9100755);
            // var latlang = new google.maps.zipcode(7845); <- Is there a way to do that?
            var myOptions = {
                zoom: 8,
                center: latlng,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };

            var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
            var marker = new google.maps.Marker({
                position: latlng,
                map: map,
                title:"zipcode"
            });

        }
    </script>


推荐答案

您可以使用Google GeoCode API来请求纬度和经度,然后从那里开始。

You can use the Google GeoCode API to request the latitude and longitude for the zipcode and go from there.

如果您想直接或通过其他媒介执行此操作,API请求URL将如下所示:

The API Request URL would look like this if you wanted to do this directly or via some other medium

http: //maps.googleapis.com/maps/api/geocode/json?address=50323&sensor=false

其中50323是您的邮政编码。

Where 50323 is your zip code.

或者您可以使用google Javascript API通过jQuery完成此操作。

Or you could use the google Javascript API to do this all via jQuery.

var geocoder; //To use later
var map; //Your map
function initialize() {
  geocoder = new google.maps.Geocoder();
  //Default setup
  var latlng = new google.maps.LatLng(-34.397, 150.644);
  var myOptions = {
    zoom: 8,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}

//Call this wherever needed to actually handle the display
function codeAddress(zipCode) {
    geocoder.geocode( { 'address': zipCode}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        //Got result, center the map and put it out there
        map.setCenter(results[0].geometry.location);
        var marker = new google.maps.Marker({
            map: map,
            position: results[0].geometry.location
        });
      } else {
        alert("Geocode was not successful for the following reason: " + status);
      }
    });
  }

这篇关于如何在谷歌地图API中使用邮政编码Lat和Lng的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆