2017-03-13 1 views
-1

私は、あなたがマーカーを見るかどうかの半径を設定することができる場所に何かしようとしています。しかし、それはエラーを与え続けます:currentMarker.setVisibleは関数ではありません。以下のコードであろうマーカーが行われるたびに呼び出される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

何が新しいgoogle.maps.LatLng(marker.lat、marker.lng)を返しますか? –

+0

これは、オブジェクトをGoogleマップのマーカーオブジェクトに変換します – Wesleyvans

答えて

2

new google.maps.Marker({})に取り付けられた方法である

私のコードは、次の通りでありますgoogle lat-lngポイントでsetVisibleを呼び出そうとしています。

var marker = new google.maps.Marker({ 
    position: myLatLng, 
    map: map, 
    title: 'Hello World!' 
    }).setVisible(true); 
+0

ありがとうございます!これはそれでなければならない – Wesleyvans

関連する問題