2014-01-08 3 views
0

Я искал пример геокодирования на веб-сайте Google maps dev. Я нашел этот пример и хотел бы, чтобы в качестве экспериментального кода был почтовый код вместо использования поля ввода для получения адреса (общая цель состоит в том, чтобы xml разместил здесь почтовый адрес). Это просто случай жесткого кодирования почтового адреса внутри тегов 'address'? Я пробовал это, но без радости. Надеюсь, что это имеет смысл?Hardcode - почтовый адрес для использования с геокодированием

<script> 
    var geocoder; 
    var map; 

    function initialize() { 

     geocoder = new google.maps.Geocoder(); 
     var latlng = new google.maps.LatLng(-34.397, 150.644); 

     var mapOptions = { 
      zoom: 8, 
      center: latlng 
     } 

     map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); 
    } 

    function codeAddress() { 

     var address = document.getElementById('address').value; 
     geocoder.geocode({ 'address': address}, function(results, status) { 

      if (status == google.maps.GeocoderStatus.OK) { 
       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); 
      } 

     }); 
    } 

    google.maps.event.addDomListener(window, 'load', initialize); 
</script> 
</head> 
<body> 
    <div id="panel"> 
     <input id="address" type="textbox" value="Sydney, NSW"> 
     <input type="button" value="Geocode" onclick="codeAddress()"> 
    </div> 
    <div id="map-canvas"></div> 
</body> 

https://developers.google.com/maps/documentation/javascript/examples/geocoding-simple

+0

вы пытались вар адрес = "NY"? –

ответ

0

Если я хорошо понял, вы можете попробовать, как это:

http://jsfiddle.net/7g7qG/

var geocoder; 
var map; 
function initialize() { 
    geocoder = new google.maps.Geocoder(); 
    var latlng = new google.maps.LatLng(-34.397, 150.644); 
    var mapOptions = { 
    zoom: 8, 
    center: latlng 
    } 
    map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); 
    codeAddress('London') 
} 

function codeAddress(address) { 
    geocoder.geocode({ 'address': address}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
     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); 
    } 
    }); 
} 

google.maps.event.addDomListener(window, 'load', initialize); 
+0

То, что мне нужно! Я не лучший, объясняя проблемы, но вы поняли, спасибо! – efc84

+0

дополнительный вопрос, можно ли использовать цикл for вместо жесткого кодирования адреса? У меня есть xml-файл с почтовыми индексами и вы хотите распечатать каждую точку на карте с использованием того же геокодирования, это подходящий способ сделать это? – efc84

+0

взгляните на это: https://developers.google.com/maps/documentation/javascript/examples/map-projection-simple Может помочь – Ventura

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