html5+js获取物理地址并显示在goole地图 - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>html5获取地理位置并显示在goole地图</title>
- </head>
- <body>
- <input type="button" id="getPos" value="获取我的位置">
- <div id="info" class="">
- 您所在的位置: 经度
- <span class="tip">unknown</span>,纬度
- <span class="tip">unknown</span>
- </div>
-
-
- <script src="http://www.google.cn/maps?file=api&v=2&key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA&hl=zh-CN"
- type="text/javascript">
-
- </script>
-
- <script type="text/javascript">
- var t = 0;
- var dom = {
- btn : document.getElementById('getPos'),
- info : document.getElementById('info')
- };
-
- dom.btn.onclick = function(){
- if (navigator.geolocation) {
- dom.info.innerHTML = "请等待查询结果返回";
- dom.info.className = "warn";
- navigator.geolocation.getCurrentPosition(getPositionSuccess,getPositionError,{timeout:5000});
- }else {
- dom.info.innerHTML = "抱歉,您所使用的浏览器不支持 Geolocation 接口";
- dom.info.className = "warn";
- }
- }
-
-
- function getPositionSuccess(position){
- var lat = position.coords.latitude;
- var lng = position.coords.longitude;
- dom.info.innerHTML = "您所在的位置: 经度" + lat + ",纬度" + lng;
-
-
- if(typeof position.address === "undefined"){
- dom.info.innerHTML += "<br /><span class='tip'>您的浏览器目前仅提供坐标查询,使用 Firefox 3.5+ 可获得更多信息</span>";
- }else{
- dom.info.innerHTML += "<br /><span class='tip'>" + position.address.country + " , " + position.address.region + " , " + position.address.city+"</span>";
- }
-
- goolemap(position);
-
- }
-
- function goolemap(position) {
- if (GBrowserIsCompatible()) {
- var map = new GMap2(document.getElementById("map_canvas"));
-
- var center = new GLatLng(position.coords.latitude,position.coords.longitude);
-
- map.setCenter(center, 14);
-
- map.addControl(new GSmallMapControl());
- map.addControl(new GMapTypeControl());
-
- var marker = new GMarker(center, {draggable: false});
- marker.openInfoWindowHtml("公司所在地" + position.coords.latitude + " " + position.coords.longitude + " " + map.getZoom());
- map.addOverlay(marker);
- }
- }
-
- function getPositionError(error){
- switch(error.code){
- case error.TIMEOUT :
- dom.info.innerHTML = "连接超时,请重试";
- break;
- case error.PERMISSION_DENIED :
- dom.info.innerHTML = "您拒绝了使用位置共享服务,查询已取消";
- break;
- case error.POSITION_UNAVAILABLE :
- dom.info.innerHTML = "亲爱的火星网友,非常抱歉<br />我们暂时无法为您所在的星球提供位置服务";
- break;
- }
- }
-
- </script>
-
-
- <div id="map_canvas" style="width: 800px; height: 400px"></div>
-
- </body>
- </html>
-
复制代码 参考网上的html5获取物理地址的实例,添加js显示在goole地图上,但是差距好像很大... |