2016-02-14 4 views
0

ли кто-нибудь есть идея, как я могу передать несколько типов types в Google Maps pnearby место поискаGoogle Maps поблизости места

var map; 
var infowindow; 

function initMap() { 
    var pyrmont = {lat: -33.867, lng: 151.195}; 

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

    infowindow = new google.maps.InfoWindow(); 

    var service = new google.maps.places.PlacesService(map); 
    service.nearbySearch({ 
    location: pyrmont, 
    radius: 500, 
    types: ['store'] 
    }, callback); 
} 

function callback(results, status) { 
    if (status === google.maps.places.PlacesServiceStatus.OK) { 
    for (var i = 0; i < results.length; i++) { 
     createMarker(results[i]); 
    } 
    } 
} 

function createMarker(place) { 
    var placeLoc = place.geometry.location; 
    var marker = new google.maps.Marker({ 
    map: map, 
    position: place.geometry.location 
    }); 

    google.maps.event.addListener(marker, 'click', function() { 
    infowindow.setContent(place.name); 
    infowindow.open(map, this); 
    }); 
} 

Я пытался писать типы во многом синтаксисе, как показано ниже, но его показ неправильных места.

types: 'bank|bar|airport' 
types: ['bank','bar'] 
types: ['bank'|'bar'] 

у кого-нибудь есть лучшее решение, я оценю.

+0

Что вы имеете в виду под "Показаны неправильные места"? В документации, первый синтаксис, который вы используете, должен быть правильным. –

+0

ДА Я согласен Так что я тоже думаю то же самое, но когда я использую 1-й синтаксис, он покажет мне отели и Аквариум, но не банк, поэтому я увеличил радиус, чтобы получить лучшие результаты, но его не показывают ни один банк. – Lakshya

ответ

0

Вам не хватает обязательного атрибута query. Это дает ключевое слово для API для поиска по имени компании. Типы предоставляют дополнительные фильтры, чтобы обеспечить то, что, по его мнению, является наиболее релевантной информацией для вашего запроса.

Этот метод принимает запрос со следующими полями:

  • запроса (обязательно) текстовая строка, на которой для поиска, например: «ресторан». Служба «Места» вернет совпадения кандидатов на основе на эту строку и закажет результаты на основе их воспринимаемой актуальности .
  • types - Массив, содержащий один или несколько поддерживаемых типов, перечисленных в списке API Google Places: Поддерживаемые типы мест. Служба вернет результаты, соответствующие любому из указанных типов.

var map; 
 
var infowindow; 
 

 
function initMap() { 
 
    var timesSquare = { 
 
    lat: 40.759011, 
 
    lng: -73.984472 
 
    }; 
 

 
    map = new google.maps.Map(document.getElementById('map'), { 
 
    center: timesSquare, 
 
    zoom: 18 
 
    }); 
 

 
    infowindow = new google.maps.InfoWindow(); 
 

 
    var service = new google.maps.places.PlacesService(map); 
 
    service.nearbySearch({ 
 
    location: timesSquare, 
 
    radius: 50, 
 
    query: 'new york', 
 
    types: ['bank'|'bar'] 
 
    }, callback); 
 
} 
 

 
function callback(results, status) { 
 
    if (status === google.maps.places.PlacesServiceStatus.OK) { 
 
    console.log(results); 
 
    for (var i = 0; i < results.length; i++) { 
 
     
 
     createMarker(results[i]); 
 
    } 
 
    } 
 
} 
 

 
function createMarker(place) { 
 
    var placeLoc = place.geometry.location; 
 
    var marker = new google.maps.Marker({ 
 
    map: map, 
 
    position: place.geometry.location 
 
    }); 
 

 
    google.maps.event.addListener(marker, 'click', function() { 
 
    infowindow.setContent(place.name); 
 
    infowindow.open(map, this); 
 
    }); 
 
}
#map { 
 
    min-width: 100%; 
 
    height: 400px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<script src="https://maps.googleapis.com/maps/api/js?v=3&callback=initMap&libraries=places" async defer> 
 
</script> 
 
<div id="map"></div>

+0

Как мы можем изменить типы, например, мне нужно (школа, колледж и т. д.) для отображения. Я попытался так измениться (типы: ['colleges' | 'school']). как получить эти данные – Vijaykarthik

+0

Ниже приведены поддерживаемые типы https://developers.google.com/places/supported_types –

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