私のコードでこのエラーが発生しています。地理位置情報を扱った経験はあまりありませんが、なぜそれが得られるのかわかりません。問題は緯度と経度の位置を取得することにあると思いますが、それが何であるかはわかりません。これが機能しない理由についてコード/アイデアを変更する方法について誰かが提案を持っている場合は、それをいただければ幸いです。
function callGeo() {
console.log("you called findLocation");
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(getLocation, locationError);
}
else { console.log("no geolocation support");
return;
}
}
function getLocation(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
if (!map) {
showMap(latitude, longitude);
}
addMarker(latitude, longitude);
}
function showMap(lat, long) {
var googleLatLong = new google.maps.LatLng(lat, long);
var mapOptions = {
zoom: 12,
center: googleLatLong,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var mapDiv = document.getElementById("map");
map = new google.maps.Map(mapDiv, mapOptions);
map.panTo(googleLatLong);
}
function addMarker(lat, long) {
var googleLatLong = new google.maps.LatLng(lat, long);
var markerOptions = {
position: googleLatLong,
map: map,
title: "Where I'm thinking today"
}
var marker = new google.maps.Marker(markerOptions);
}
function locationError(error) {
var errorTypes = {
0: "Unknown error",
1: "Permission denied by user",
2: "Position not available",
3: "Request timed out"
};
var errorMessage = errorTypes[error.code];
if (error.code == 0 || error.code == 2) {
errorMessage += " " + error.message;
}
console.log(errorMessage);
alert(errorMessage);
}