2011-12-21 3 views
2

Я хотел бы отметить контуры почтового индекса на карте. С API карт google я могу отправить почтовый индекс или адрес и вернуться назад/lat, а затем поместить значок на карту. Теперь я хотел бы сделать коробку или многоугольник вокруг всей области, на которую распространяется почтовый код. Есть ли API или метод для этого? Я мог бы использовать карты Google или другую службу, если таковые имеются.показать почтовый индекс/почтовый индекс на карте google

Api получить широту/долготу почтового кода ...

if (geocoder)   {  
    geocoder.geocode({ 'address': address }, function (results, status) {     
     if (status == google.maps.GeocoderStatus.OK){ 
      var pcode = results[0].address_components[0].long_name; 
      var latitude = results[0].geometry.location.lat(); 
      var longitude = results[0].geometry.location.lng();     
     } 
    } 

ответ

1
geocoder.geocode({ 'address': address }, function (results, status) { 

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

     var pcode = results[0].address_components[0].long_name; 
     var latitude = results[0].geometry.location.lat(); 
     var longitude = results[0].geometry.location.lng(); 

     //do whatever you want above then call the displayBounds function 
     displayBounds(results[0].geometry.bounds); 
    } 
}); 

function displayBounds(bounds) { 

    var rectangleOptions = { 
     strokeColor: '#0000ff', 
     strokeOpacity: 0.5, 
     strokeWeight: 3, 
     bounds: bounds 
    } 

    var rectangle = new google.maps.Rectangle(rectangleOptions); 

    rectangle.setMap(map); //map being your google.maps.Map object 
} 

Таким образом, вы можете отобразить границы на карте. Удостоверьтесь, что вы получили геометрию. Результаты по вашим результатам, хотя это не всегда так.

+0

Это фактически производит прямоугольник. По крайней мере, в Нидерландах. Я хочу сделать границы для многоугольника почтового кода, попробуйте '3335, NL', любую идею, как это сделать? –

+0

Нет. Я не верю, что вы можете получить такую ​​информацию из API Карт Google. Все, что вы получите, - это глобальная граница, в которой место, в которое вы искали, подойдет. Взгляните на официальную документацию: https://developers.google.com/maps/documentation/javascript/geocoding Дополнительная информация здесь: http://stackoverflow.com/questions/9491114/google-maps-api-v3 -geocoder-результаты-вопрос-с границами – MrUpsidown

0

DisplayZipCodeArea (результаты [0] .geometry.bounds, resultsMap);

enter image description here функция DisplayZipCodeArea (границы, resultsMap) {

var rectangleOptions = { 
    strokeColor: '#0000ff', 
    strokeOpacity: 0.5, 
    strokeWeight: 3, 
    bounds: bounds 
} 

var rectangle = new google.maps.Rectangle(rectangleOptions); 

rectangle.setMap(resultsMap); //map being your google.maps.Map object 

}

Смежные вопросы