腾讯php定位地图代码,腾讯地图定位及坐标解析

一个项目,需要打开地图后点击获取地址

用的腾讯地图开放平台,对着文档花了一上午弄出来了

代码:

前端定位模块

#pos-area{

height:500px;

width: 100%;

}

#poi_lat{color:red;}

#poi_lng{color:green;}

#poi_address{color:blue;}

腾讯地图测试

您在当的位置(经度: ,纬度: )

οnclick="geolocation.getLocation(showPosition, showErr, options)">获取当前位置

您点击的位置(经度: ,纬度: ,解析出来的地址: )

var appkey ="A4KBZ-LUZE3-VPW3T-YGU5N-SIT2S-5ZFVH";

var geolocation = new qq.maps.Geolocation(appkey, "myapp");

var options = {timeout: 8000};

$(function(){

//加载完成后就取当前位置

geolocation.getLocation(showPosition, showErr, options);

})

function showPosition(position) {

console.log(position);

$('#now_lat').html(position.lat);

$('#now_lng').html(position.lng);

$('#poi_lat').html(position.lat);

$('#poi_lng').html(position.lng);

//取出位置坐标了,设置地图显示出来

var map = new qq.maps.Map(document.getElementById("pos-area"), {

// 地图的中心地理坐标。

center: new qq.maps.LatLng(position.lat,position.lng),

zoom:15

});

//添加标记

var marker = new qq.maps.Marker({

position: new qq.maps.LatLng(position.lat,position.lng),

map: map

});

//解析地址

jiexiaddress(position.lat,position.lng);

//绑定地图点击事件

qq.maps.event.addListener(map, "click", function (e) {

$('#poi_lat').html(e.latLng.getLat().toFixed(6));

$('#poi_lng').html(e.latLng.getLng().toFixed(6));

//先移除标记,再添加标记

marker.setMap(null);

marker = new qq.maps.Marker({

position: new qq.maps.LatLng(e.latLng.getLat(),e.latLng.getLng()),

map: map

});

jiexiaddress(e.latLng.getLat(),e.latLng.getLng());

});

};

function showErr() {

alert("定位失败!");

};

//解析地址

function jiexiaddress(lat,lng){

var url3 = encodeURI("https://apis.map.qq.com/ws/geocoder/v1/?location=" + lat + "," + lng + "&key="+appkey+"&output=jsonp&&callback=?");

$.getJSON(url3, function (result) {

if(result.result!=undefined){

$('#poi_address').html(result.result.address);

}else{

$('#poi_address').html('');

}

})

}

效果图:

7c8ee9a67bcf9f58e35523088e054b62.png

备注:微信里打的话需要用https地址才能取得权限,在手机浏览器打开就可以不用了,还有记得在腾讯控制台那里把webserviceapi打开并加上域名

42d39949524dfa8b639327f62e47c8d7.png

预览地址:https://www.niunan.net/qqmapdemo.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值