Я создаю сайт, который использует этот API для поиска определенных магазинов. Одним из них является цель. Проблема состоит в том, что мои поиски обычно возвращают от 2 до 3 маркеров в местах, где отображаются «Цель», «Целевая оптика» и «Целевая аптека». Кто-нибудь знает, как сделать так, чтобы он показывал только основной маркер "Target"?
Просто для справки вот мой код:
<script type="text/javascript">
var geocoder;
var map;
var service;
var infowindow;
var markers = new Array();
function initialize() {
var latlng = new google.maps.LatLng(<?=$lat ?>, <?=$long ?>);
infowindow = new google.maps.InfoWindow();
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var request = {
location: latlng,
radius: '22000',
types: ['store'],
name: 'Target'
};
service = new google.maps.places.PlacesService(map);
service.search(request, callback);
}
function callback(results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
var place=results[i];
var marker = new google.maps.Marker({
map: map,
position: results[i].geometry.location
});
markers[i] = marker;
markers[i].reference = place.reference;
}
//alert(markers.length);
}
for(j=0;j<markers.length;j++){
google.maps.event.addListener(markers[j],'click',function(){
var me = this;
var request={reference:this.reference};
service.getDetails(request,function(newplace,status){
var myContent = "<h3>" + newplace.name + "</h3>" + newplace.formatted_address;
infowindow.setContent(myContent);
infowindow.open(map,me);
});
});
}
}