㈠ js 根據經緯度獲取地址(百度地圖)
$.ajax({
url: 'http://api.map..com/geocoder?ak=bOttbSRnkbGHc958rTjvXCHj&location=39.983424,116.322987&output=json&pois=1',
datatype: 'json',
type: 'get',
success: function (data) {
var lng= data.result.location.lng;
var lat=data.result.location.lat;
}
});
㈡ javascript 怎麼獲得手機地理位置 比如經緯度
<script>
navigator.geolocation.getCurrentPosition(//該函數有如下三個參數
function(pos){//如果成果則執行該回調函數
alert(
'經度:'+pos.coords.latitude+
'緯度:'+pos.coords.longitude+
'高度:'+pos.coords.altitude+
'精確度(經緯):'+pos.coords.accuracy+
'精確度(高度):'+pos.coords.altitudeAccuracy+
'速度:'+pos.coords.speed
);
},function(err){//如果失敗則執行該回調函數
alert(err.message);
},{//附帶參數
enableHighAccuracy:false,//提高精度(耗費資源)
timeout:3000,//超過timeout則調用失敗的回調函數
maximumAge:1000//獲取到的地理信息的有效期,超過有效期則重新獲取一次位置信息
}
);
</script>
>> 參考Lecaf 同學的博文
>> 需要支持HTML5的瀏覽器才能支持
>> 哪怕支持HTML5的瀏覽器支持也不一定很好
㈢ 如何用JS實現:通過瀏覽器獲得用戶地理位置,計算預置地理位置與用戶地理位置之間的距離,返回數字文本
其實有了 Haversine 公式,兩點坐標之後就很簡單了。你提供的上海范圍太大,且沒有坐標,下面例子以上海虹橋機場為參考(緯度:31.2,經度:121.4)。
要從地名獲得它的經緯度應該需要有一個龐大的資料庫,這點沒有仔細研究過。谷歌地圖應該會提供此類的 API。你可以網路一下"經緯度查詢",有很多網站提供此功能。
測試的時候最好用 IE9 或 Opera 高版本,Firefox 和 Safari 有時會獲取不到地理位置,Chrome 會自動屏蔽本地文件。
<script type="text/javascript">
// Haversine 公式
function getDistanceFromLatLonInKm(lat1, lon1, lat2, lon2) {
var R = 6371;
var dLat = deg2rad(lat2 - lat1);
var dLon = deg2rad(lon2 - lon1);
var a =
Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon / 2) * Math.sin(dLon / 2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
var d = R * c;
return d;
}
function deg2rad(deg) {
return deg * (Math.PI / 180);
}
// 上海虹橋機場經緯度
var lat = 31.2, lon = 121.4;
// 嘗試獲取地理位置
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(pos) {
var d = getDistanceFromLatLonInKm(
pos.coords.latitude,
pos.coords.longitude,
lat, lon).toFixed(2);
alert("當前位置距上海虹橋機場:" + d + "公里");
});
}
else {
alert("瀏覽器不支持 geolocation");
}
</script>
㈣ js中如何得到客戶端的地理位置
那個湖南省長沙市是通過IP地址得到的
JS是客戶端腳本無法獲取IP地址的
必須要通過後台程序獲得到IP地址傳到前端 這樣才可以用JS來獲取到