国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

移動web端使用騰訊地圖實現定位功能

2024-04-27 15:18:12
字體:
來源:轉載
供稿:網友
	最近公司有個需求,讓開發一個相對精確的定位功能,我們是微信二次開發,不像APP那種可以有專門的組件或插件來實現,
于是就開始了和度娘進行了三天的感情溝通,一開始用百度地圖API,結果最后的經緯度數據誤差很大,而且iphone上用不了, 
于是又查資料,最后鎖定HTML5的,但結果卻是iphone用不了(具體原因參考),不過精度還可以(HTML5定位原理),最后在一前輩的指導下
終于解決問題(使用騰訊地圖API,因為它支持HTTPS協議),于是現在整理出來以供需要的朋友參考,廢話說完了,上代碼:	提前準備:		1: 先去騰訊地圖API官網注冊一個密匙.步驟很簡單;

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>使用騰訊地圖實現移動web定位</title><style type="text/CSS">*{    margin:0px;    padding:0px;}body, button, input, select, textarea {    font: 12px/16px Verdana, Helvetica, Arial, sans-serif;}#container{  min-width:600px;  min-height:767px;  }</style><script type="text/Javascript" src="https://3gimg.QQ.com/lightmap/components/geolocation/geolocation.min.js"></script><!-- 騰訊獲取坐標需要引入的 --><script charset="utf-8" src="http://map.qq.com/api/js?v=2.exp"></script><!-- 騰訊地圖顯示需要引入的 --></head><body onload="coordinate()">	<div id="container"></div></body></html><script type="text/javascript">	var cityLocation, map, marker=null;	/**用騰訊獲取坐標**/	function coordinate(){
		
	//qq.maps.Geolocation(key, referer) 參數(官網提供): key : 必填,開發密鑰(key),申請地址 http://lbs.qq.com/mykey.html 
										referer: 必填,調用來源,一般為您的應用名稱,為了保障對您的服務,請務必填寫!例如: referer=mapqqvar geolocation = new qq.maps.Geolocation("騰訊注冊的密匙", "mapqq");var options = {timeout: 8000};

	//sucCallback:定位成功的回調,;showErr:定位失敗的回調;options為定位選項,選填,timeout:可以通過參數設置定位的超時時間,默認值為10s,
		failTipFlag: 是否在定位失敗時給出提示引導用戶打開授權或打開定位開關。(即將支持)
	geolocation.getLocation(sucCallback, showErr, options);	}	//定位成功回調	function sucCallback(position){		var mapInfo = JSON.stringify(position, null, 4);		var jsonMapInfo = eval('('+mapInfo+')');		alert("騰訊經度為:"+jsonMapInfo.lng+",騰訊緯度為:"+jsonMapInfo.lat);		init();		var latLng = new qq.maps.LatLng(jsonMapInfo.lat, jsonMapInfo.lng);		citylocation.searchCityByLatLng(latLng);	}		//定位失敗回調	function showErr(){		alert("定位失敗");		}		//初始化地圖	function init(){		var center = new qq.maps.LatLng(39.916527,116.397128);//設置中心點		map = new qq.maps.Map(document.getElementById('container'),{//container:放置地圖div的id屬性	        center: center,	        zoom: 15	//地圖縮放級別	    });		//調用城市服務信息	    citylocation = new qq.maps.CityService({	        complete : function(results){	            map.setCenter(results.detail.latLng);	            if (marker != null) {	                marker.setMap(null);	            }	            //設置marker標記	            marker = new qq.maps.Marker({	                map: map,	                position: results.detail.latLng	            });	        }	    });	}</script>
	本人親測,Android和iPhone都可以注意獲取到的經緯度信息是騰訊地圖的經緯度信息,不同地圖用的經緯度互相都不一樣如果要使用于其他地圖的定位(如百度地圖),要去找類似于:(騰訊經緯度轉百度經緯度)的轉化方法才能使用。歡迎大家提意見


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 噶尔县| 武乡县| 淮南市| 奉节县| 手机| 武冈市| 安乡县| 金堂县| 中江县| 贺兰县| 泌阳县| 汝州市| 石泉县| 乌鲁木齐县| 广元市| 宁津县| 山丹县| 阳曲县| 修文县| 佳木斯市| 惠来县| 莱州市| 德州市| 娄底市| 铅山县| 昭觉县| 长寿区| 隆子县| 南丰县| 东丰县| 四平市| 内黄县| 时尚| 中西区| 鞍山市| 丹棱县| 隆林| 新巴尔虎右旗| 辽宁省| 霍城县| 西盟|