私はgoogle geo location apiに問題があります。私の現在の位置の間違った緯度&経度を返しています。私が最初に組み込んだとき、それは正しく戻っていましたが、今は間違っています。私の下のjavascriptコードを見てください。google geolocation api issue
$(document).ready(function(){
var apiGeolocationSuccess = function (position) {
alert("API geolocation success!\n\nlat = " + position.coords.latitude + "\nlng = " + position.coords.longitude);
};
var tryAPIGeolocation = function() {
jQuery.post("https://www.googleapis.com/geolocation/v1/geolocate?key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx", function (success) {
apiGeolocationSuccess({coords: {latitude: success.location.lat, longitude: success.location.lng}});
})
.fail(function (err) {
alert("API Geolocation error! \n\n" + err);
});
};
var browserGeolocationSuccess = function (position) {
//alert("Browser geolocation success!\n\nlat = " + position.coords.latitude + "\nlng = " + position.coords.longitude);
};
var browserGeolocationFail = function (error) {
switch (error.code) {
case error.TIMEOUT:
//alert("Browser geolocation error !\n\nTimeout.");
if (error.TIMEOUT)
{
tryAPIGeolocation();
}
break;
case error.PERMISSION_DENIED:
if (error.message.indexOf("Only secure origins are allowed") == 0) {
tryAPIGeolocation();
}
break;
case error.POSITION_UNAVAILABLE:
alert("Browser geolocation error !\n\nPosition unavailable.");
break;
}
};
var tryGeolocation = function() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
browserGeolocationSuccess,
browserGeolocationFail,
{maximumAge: 50000, timeout: 20000, enableHighAccuracy: true});
}
};
tryAPIGeolocation();
私はコードを私は、この値を取得しています(緯度:23.0401214)の上に実行した場合(経度:72.5163579)が、これは間違っています。それはahemdabad都市の緯度&を返す。それがあるべき
正しい値:22.3039、70.8022
は私の問題でご覧下さい。
はい、ただしhtml 5のGeolocationサービスが必要です。httpsセキュアドメインはhttpのみで動作しません。 –
それは正しいです。あなたはhttps –
を使用する必要があります。他にhtml5テクニック以外のユーザーの正確な場所を得る方法はありませんか? –