我正在努力设置一些东西,你可以在哪里设置你看到标记的半径。但它继续给出错误:currentMarker.setVisible不是函数。
我的代码如下:
function calcDistance(marker){
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
pos.latlng = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
var currentMarker = new google.maps.LatLng(marker.lat,marker.lng)
var currentPos = new google.maps.LatLng(pos.latlng.lat, pos.latlng.lng)
var distance = google.maps.geometry.spherical.computeDistanceBetween(currentMarker, currentPos);
console.log((distance/1000).toFixed(2));
if(distance/1000 > radius){
currentMarker.setVisible(false);
}
else {
currentMarker.setVisible(true);
}
});
}
}
每次制作标记时都会调用该函数,该代码将是以下代码:
for (i = 0; i < $winkels.length; i++) {
marker[i] = new google.maps.Marker({
position: new google.maps.LatLng($winkels[i].lat, $winkels[i].lng),
map: map,
latlng: {lat: $winkels[i].lat, lng: $winkels[i].lng}
});
calcDistance(marker[i].latlng);
}
答案 0 :(得分:2)
设置可见是附加到new google.maps.Marker({})
的方法,您试图在google lat-lng点上调用setVisible。
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title: 'Hello World!'
}).setVisible(true);