2014-11-16 2 views
0

Ниже код, place.name показывает название места, найденного с географическим расположением. Я должен был бы использовать place.formatted_address, чтобы перечислить адрес, однако это не работает. Что мне не хватает?Google Maps JavaScript-Place Details Результаты

https://developers.google.com/maps/documentation/javascript/places?csw=1#place_details_requests

<script src="https://maps.googleapis.com/maps/api/js?libraries=places"></script> 
    <script> 

var map, placesList; 

function initialize() { 
    var pyrmont = new google.maps.LatLng(40.062664, -83.069101); 

    map = new google.maps.Map(document.getElementById('map-canvas'), { 
    center: pyrmont, 
    zoom: 17 
    }); 

    var request = { 
    location: pyrmont, 
    radius: 500, 
    types: ['store'] 
    }; 

    placesList = document.getElementById('places'); 

    var service = new google.maps.places.PlacesService(map); 
    service.nearbySearch(request, callback); 
} 

function callback(results, status, pagination) { 
    if (status != google.maps.places.PlacesServiceStatus.OK) { 
    return; 
    } else { 
    createMarkers(results); 

    if (pagination.hasNextPage) { 
     var moreButton = document.getElementById('more'); 

     moreButton.disabled = false; 

     google.maps.event.addDomListenerOnce(moreButton, 'click', 
      function() { 
     moreButton.disabled = true; 
     pagination.nextPage(); 
     }); 
    } 
    } 
} 

function createMarkers(places) { 
    var bounds = new google.maps.LatLngBounds(); 

    for (var i = 0, place; place = places[i]; i++) { 
    var image = { 
     url: place.icon, 
     size: new google.maps.Size(71, 71), 
     origin: new google.maps.Point(0, 0), 
     anchor: new google.maps.Point(17, 34), 
     scaledSize: new google.maps.Size(25, 25) 
    }; 

    var marker = new google.maps.Marker({ 
     map: map, 
     icon: image, 
     title: place.name, 
     phone:place.formatted_address, 
     position: place.geometry.location 
    }); 

    placesList.innerHTML += '<li>' + place.name + '</li>'; 
     placesList.innerHTML += '<li>' + place.formatted_address + '</li>'; 
    bounds.extend(place.geometry.location); 
    } 
    map.fitBounds(bounds); 
} 

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

    </script> 

ответ

1

Вы не просить местечками детали, вы запустить nearbySearch.

Как документально search-response будет содержать только formatted_address -свойство для TextSearch

+0

nearbySearch работает! Могу ли я создать список, а также маркеры? Я не могу найти нигде о создании ближайшего списка поиска –

+0

Nevermind понял это! благодаря –

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