2016-06-29 23 views
0
"use strict"; // eslint-disable-line 


var map; 
var initialLocation; 
// TODO: Initialize and display Google Map 
function initialize() { 
    //get current location 


    if(navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(function(position) { 
     initialLocation = new   google.maps.LatLng(position.coords.latitude,position.coords.longitude); 
     map.setCenter(initialLocation); 
    }, function() { 
     handleNoGeolocation(browserSupportFlag); 
    }); 
    } 

var mapProp = { 
center:initialLocation, 
zoom:6, 
    mapTypeId:google.maps.MapTypeId.ROADMAP 
     }; 

    map = new google.maps.Map(document.getElementById("googleMap"),mapProp); 

var marker = new google.maps.Marker({ 
      position: initialLocation, 
      map: map 
     }); 


} 
google.maps.event.addDomListener(window, 'load', initialize); 

私はJavascriptを使用して私の現在の位置にマーカーを設定しようとしています。ただし、地図をロードすると、現在の場所を中心に地図が表示されますが、マーカーは表示されません。Googleマップ:マーカーが表示されませんか?

答えて

0

すべてがちょうどmarker.setPosition(initialLocation)を追加し、よさそうです。次のセクションで:ここ

if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(function(position) { 
    initialLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 
    marker.setPosition(initialLocation);// ****** missing line ****** 
    map.setCenter(initialLocation); 
    }, function() { 
    handleNoGeolocation(browserSupportFlag); 
    }); 
}; 

は、必要に応じて変更して作業JSFiddleです。

キーはGoogleマップAPIのサンプルからのものであり、あなたがここに取得できる、あなた自身で更新する必要があります:Google MAP API。 googleapisファイルからの非同期延期と問題があるように見えるよう

あなたは、JSFiddle例をリロードする必要があるかもしれません。数秒待ってからRUNを押してください。

0

ただ、変数initialLocationの内容を確認してください。 正しいlon/latがある場合、マーカーが表示されます。 次の前に正しい値が設定されていることを確認してください。 var marker = new google.maps.Marker({ position:initialLocation、 map:map });

関連する問題