ジオロケーションを使用したGoogleMapsAPIをいじっています。すべてが期待どおりに機能していますが、コンソールで次のエラーが発生し続けます。
Uncaught TypeError: Cannot read property 'coords' of undefined
これが私のジオチェックです:
// Does this browser support geolocation?
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(initialize, locationError);
} else {
showError("Your browser does not support Geolocation!");
}
私のサクセスハンドラー:
function initialize(position) {
var lat = position.coords.latitude;
var lon = position.coords.longitude;
var acc = position.coords.accuracy;
// Debugging
console.log(position.coords);
console.log("Accuracy: "+acc+"\nLatitude: "+lat+"\nLongitude: "+lon);
// Google Maps API
var myLatlng = new google.maps.LatLng(lat,lon);
var mapOptions = {
center: new google.maps.LatLng(lat, lon),
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title:"Hello World!"
});
}
次に、bodyタグでマップを初期化します<body id="map" onload="initialize()">
マップは正常にレンダリングされ、すべてが期待どおりに機能しています。position.coords
コンソールにログインすると、きれいな読み取り値が表示されます。なぜこのエラーが発生し続けるのですか?
GoogleとSOの検索では結果が表示されませんでした...
乾杯