2012-06-21 26 views
16

Tôi tự hỏi có cách nào để sử dụng mã zip thay vì Lat và Lng hay không, sử dụng đoạn mã này hoặc sử dụng Yêu cầu mã hóa địa lý.Cách sử dụng mã zip thay vì Lat và Lng trong Google maps API

<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> 

Trả lời

25

Bạn có thể sử dụng mã địa lý API Google để yêu cầu các vĩ độ và kinh độ cho mã bưu điện và đi từ đó. Yêu cầu URL

API sẽ trông như thế này nếu bạn muốn làm điều này trực tiếp hoặc thông qua một số khác vừa

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

đâu 50.323 là mã vùng của bạn.

Hoặc bạn có thể sử dụng API Javascript của Google để thực hiện điều này thông qua 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); 
     } 
    }); 
    } 
+0

Cảm ơn ví dụ làm việc. –

+1

Cung cấp lỗi Uncaught nf: trong địa chỉ thuộc tính: không phải là chuỗi –

+2

Cùng một vấn đề ở đây, nếu tôi chuyển mã zip dưới dạng chuỗi nó đến Nam Phi (Thử 8790, mã bưu chính từ Bỉ) và Nếu tôi chuyển mã zip dưới dạng số nguyên trả về lỗi tương tự như @ Mohd.Umar nói – AlvaroAV

Các vấn đề liên quan