因此,经过这里用户的一些出色帮助后,我现在有了一个按钮来隐藏我网站上的所有地图标记。但是我需要能够根据它们的类别隐藏标记。
下面的代码将结果从 Google 传递到标记数组
function createMarker(place) {
var iconType = {};
iconType['atm'] = "http://maps.google.com/mapfiles/ms/micons/dollar.png";
iconType['bus_station'] = "http://maps.google.com/mapfiles/ms/micons/bus.png";
//iconType['restaurant'] = "http://maps.google.com/mapfiles/ms/micons/restaurant.png";
iconType['parking'] = "http://maps.google.com/mapfiles/ms/micons/parkinglot.png";
var placeLoc = place.geometry.location;
var marker = new google.maps.Marker({
map : map,
icon : iconType[place.types[0]],
position : place.geometry.location,
category : category
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(place.name);
infowindow.open(map, this);
});
return marker;
}
我认为现在应该用谷歌的响应填充类别属性,我现在遇到的问题是当我调用我的函数来隐藏标记时选择这些结果(特定类别),我不知道如何访问数组数据类别,我在这里搜索了多个线程,但他们的代码与我的大不相同。我隐藏标记的代码在这里。
function onRemoveBtn_Clicked() {
var i;
for (i = 0; i < markers.length; i++) {
markers[i].setMap(null);
}
}
非常感谢任何帮助。哦,用于获取结果的代码是。
service = new google.maps.places.PlacesService(map);
service.nearbySearch(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];
markers.push(createMarker(results[i]));
}
}
}