高德
首先在页面引入
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.14&key=申请得key值"></script>
然后再需要调用的时候
var address=$(this).siblings('p').text();
AMap.plugin('AMap.Geocoder', function() {
var geocoder = new AMap.Geocoder({
// city 指定进行编码查询的城市,支持传入城市名、adcode 和 citycode
city: '重庆',
});
// 使用geocoder做地理/逆地理编码
geocoder.getLocation(`${address}`, function(status, result) {
if (status === 'complete' && result.info === 'OK') {
// result中对应详细地理坐标信息
var {P,Q}=result.geocodes[0].location;
// P Q就是获取到的 经纬度
}
})
})
腾讯
也是需要首先在页面引入script
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=您申请的key值"></script>
//腾讯地图地图
var callbacks={
complete:function(results){
const {lat,lng}=results.detail.location;
//lat lng 经纬度
},
};
geocoder = new qq.maps.Geocoder(callbacks);
geocoder.getLocation(address);//address就是传进去的地址
通过高德地图获取经纬度,然后转详细地址
ios可以定位成功,但是安卓定位失败,查阅网上资料结果是 必须为https协议,以下为实例代码
第一步:引入高德api
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=申请的key"></script>
var map = new AMap.Map('container', {
resizeEnable: true
});
AMap.plugin('AMap.Geolocation', function() {
var geolocation = new AMap.Geolocation({
enableHighAccuracy: true,//是否使用高精度定位,默认:true
timeout: 10000, //超过10秒后停止定位,默认:5s
buttonPosition:'RB', //定位按钮的停靠位置
buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
zoomToAccuracy: true, //定位成功后是否自动调整地图视野到定位点
});
map.addControl(geolocation);
geolocation.getCurrentPosition(function(status,result){
if(status==='complete'){
//成功
onComplete(result)
}else{
//失败
onError(result)
}
});
});
//解析定位结果
function onComplete(data) {
AMap.plugin('AMap.Geocoder', function() {
var geocoder = new AMap.Geocoder({
// city 指定进行编码查询的城市,支持传入城市名、adcode 和 citycode
city: '010'
});
geocoder.getAddress(data.position, function(status, result) {
if (status === 'complete' && result.info === 'OK') {
// result为对应的地理位置详细信息
let ss=result.regeocode.addressComponent.district;//省市
let q=result.regeocode.addressComponent.township;//区
let de=result.regeocode.addressComponent.street;//街道
}
})
})
}
//解析定位错误信息
function onError(data) {
toast('定位失败,请重试。');
}