Отображение адреса в Google Maps API v2, теперь он нужен в v3

Я использую Google Maps API v2 ниже, чтобы показать адрес в строке var address на карте, и я хочу, чтобы это было в API v3. Кто-нибудь знает, как сделать это как Google Maps API v3?

<script type="text/javascript">
    //<![CDATA[
   var geocoder;
   var map;
   var address = "425 West 53rd St,New York,NY,";
   // On page load, call this function
   function load()
   {
      // Create new map object
      map = new GMap2(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
      // Create new geocoding object
      geocoder = new GClientGeocoder();
      // Retrieve location information, pass it to addToMap()
      geocoder.getLocations(address, addToMap);
   }
   // This function adds the point to the map
   function addToMap(response)
 {
   // Retrieve the object
   place = response.Placemark[0];
   // Retrieve the latitude and longitude
   point = new GLatLng(place.Point.coordinates[1],
                       place.Point.coordinates[0]);
   // Center the map on this point
   map.setCenter(point, 15);
   // Create a marker
    marker = new GMarker(point);
    // Add the marker to map
    map.addOverlay(marker);
   }    //]]>
    </script>

<script src="http://maps.google.com/maps?file=api&v=2&key=xxxxxxxx" type="text/javascript"></script><div id="map"></div>

person mr.data1    schedule 19.03.2013    source источник
comment
Пробовали ли вы просмотреть документацию для геокодера v3 и простой пример, который он содержит?   -  person geocodezip    schedule 20.03.2013
comment
возможный дубликат Использование Google Maps API v3, как мне получить LatLng с заданным адресом?   -  person geocodezip    schedule 20.03.2013
comment
Я часами просматривал документацию и примеры. Они не помогли. Все их примеры с полями ввода. Мне нужно иметь адрес прямо в коде, как в моем примере v2 здесь. Я не программист, поэтому и обратился за помощью сюда.   -  person mr.data1    schedule 20.03.2013


Ответы (1)


Простой пример из документации, с вашим адресом вместо «поля ввода»

  var geocoder;
  var map;
  var address = "425 West 53rd St,New York,NY,";
  function initialize() {
    geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(-34.397, 150.644);
    var mapOptions = {
      zoom: 8,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById('map'), mapOptions);
    codeAddress();
  }

  function codeAddress() {
    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);
      }
    });
  }

jsfiddle

person geocodezip    schedule 20.03.2013
comment
Спасибо за помощь. Пробовал, карта вообще не грузится. Я сделал пример здесь. Это исходный пример из документации jsfiddle.net/GY3uu/1, и это с вашим кодом jsfiddle.net/GY3uu/2 - person mr.data1; 20.03.2013
comment
Вы хотите, чтобы он соответствовал вашему исходному коду или документации? Обратите внимание на изменение «map-canvas» на «map», которое было названием вашего div. - person geocodezip; 20.03.2013
comment
Если я хочу показать несколько адресов на карте, что мне нужно сделать здесь? - person mr.data1; 20.03.2013
comment
Найдите в Stack Overflow похожие вопросы. Существуют проблемы с квотами/ограничениями скорости для более чем 10 адресов. Для меньшего измените codeAddress, чтобы он принимал аргумент, и передайте разные адреса. - person geocodezip; 20.03.2013