基于HTML5的Geolocation获取地理位置,配合Google Map API反向地址解析(获取用户真实地址)

html

 1 <!DOCTYPE html>
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3
 4 <head>
 5   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 6   <title>Geolocation获取地理位置,配合Google Map API反向地址解析,获取当前位置并显示在google地图上</title>
 7   <script async defer src="http://maps.google.cn/maps/api/js?key=AIzaSyBzE9xAESye6Kde-3hT-6B90nfwUkcS8Yw&callback=initMap">
 8   </script>
 9 </head>
10
11 <body>
12   <div id="map" style="width: 890px; height: 640px"></div>
13 </body>
14
15 </html>

js部分

 1   <script type="text/javascript">
 2   var geocoder;
 3   var display = "";
 4   var map;
 5
 6   function initMap() {
 7     geocoder = new google.maps.Geocoder();
 8
 9     if (navigator.geolocation) {
10       //获取当前地理位置
11       navigator.geolocation.getCurrentPosition(function(position) {
12           var coords = position.coords;
13           console.log(coords);
14           //指定一个google地图上的坐标点,同时指定该坐标点的横坐标和纵坐标
15           var latlng = new google.maps.LatLng(coords.latitude, coords.longitude);
16           var myOptions = {
17             zoom: 12, //设定放大倍数
18             center: latlng, //将地图中心点设定为指定的坐标点
19             mapTypeId: google.maps.MapTypeId.ROADMAP //指定地图类型
20           };
21           //创建地图,并在页面map中显示
22           map = new google.maps.Map(document.getElementById("map"), myOptions);
23           var marker = new google.maps.Marker({
24             position: latlng, //将前面设定的坐标标注出来
25             map: map //将该标注设置在刚才创建的map中
26           });
27           //地址名字解析
28           geocoder.geocode({
29             ‘location‘: latlng //纬度/经度坐标
30             // ‘address‘: ‘南京‘  string  或者填需要解析的地名.
31           }, function(results, status) {
32             if (status == google.maps.GeocoderStatus.OK) {
33               console.log("获取到的经纬度:"); //address_components: Array(6), formatted_address: "中国江苏省南京市",
34               console.log(results[0])
35               display = "地址: " + results[0].formatted_address; //格式化后的最佳匹配地址(地名可小到街道)
36
37               console.log("位置:" + display);
38               var infowindow = new google.maps.InfoWindow({
39                 content: "<span style=‘font-size:13px‘><b>经纬度: </b>" +
40                   "latlng" + latlng + "<br>" + display + "</span>",
41                 //坐标的偏移量
42                 pixelOffset: 0,
43                 position: results[0].geometry.location //GeocoderGeometry 对象
44
45               });
46               //默认打开信息窗口,点击也弹出信息窗口
47               infowindow.open(map, marker);
48               google.maps.event.addListener(marker, ‘click‘, function() {
49                 infowindow.open(map, marker);
50               });
51             } else {
52               alert("Geocode was not successful for the following reason: " + status);
53             }
54           });
55
56         },
57         function(error) {
58           //处理错误
59           switch (error.code) {
60             case 1:
61               alert("位置服务被拒绝。");
62               break;
63             case 2:
64               alert("暂时获取不到位置信息。");
65               break;
66             case 3:
67               alert("获取信息超时。");
68               break;
69             default:
70               alert("未知错误。");
71               break;
72           }
73         });
74     } else {
75       alert("你的浏览器不支持HTML5来获取地理位置信息。");
76     }
77   }
78   </script>
时间: 2024-12-25 09:35:30

基于HTML5的Geolocation获取地理位置,配合Google Map API反向地址解析(获取用户真实地址)的相关文章

开发Android Map程序 如何获取 apikey (Google Map API v2)

1. 在Eclise --> preference --> android --> bulid 能够看到缺省的debug keystore:注意,最新版本的Android Eclipse中无需再自己产生MD5 和 SHA1 2. 登录Google网站账户后转到如下网址 https://console.developers.google.com/project/apps~soft-edu/apiui/api?authuser=0:在该页面中点击APIs然后将Google Maps Andr

【转】Android Google Map API使用的八个步骤

Android Google Map API使用的八个步骤 本系列教程将分为两部分,第一部分是指导用户使用Mapview控件进行编程,其中包括了如何获得Google Map API,如何使用该API进行简单的开发,如何获得用户当前所在的位置.第二部分则包括如何在地图上,用第三方的组件库,实现气球式显示若干指定位置的功能. 步骤1 创建新的Android 工程 首先打开eclipse新建立一个Android 工程,其中相关参数设置如下: Project name:MallFinder Build 

如何将经纬度利用Google Map API显示C# VS2005 Sample Code

原文 如何将经纬度利用Google Map API显示C# VS2005 Sample Code 日前写了一篇如何用GPS抓取目前所在,并回传至资料库储存,这篇将会利用这些回报的资料,将它显示在地图上,这个做法有两种,最简单的就是直接传值到Google Maps上. 举例来说,当我们知道经纬度后,只要将数据套到以下网址即可. http://maps.google.com/maps?q=25.048346%2c121.516396 在参数q=后面,就可以加上经纬度了. 25.048346是Lati

google map api v3

<!DOCTYPE html> <html> <head> <script type="text/javascript"> function killerrors() { return true; } window.onerror = killerrors; </script> <meta name="viewport" content="initial-scale=1.0, user-sc

Java 调用Google Map Api解析地址,解析经纬度实例

Java 调用Google Map Api解析地址,解析经纬度实例 使用google地图的反向地址解析功能,提供一个经纬度得到对应地址,或者给出模糊地址,得到经纬度,放在java后台代码中处理,这个使用的是Google的地理编码服务.一般而言数据量不大的情况使用是不限制的.按照Google官方说法是连续90天请求地理编码服务次数超过2000次就会受到限制,因此可以将这些解析好的地址放在Database中,这样可以避免重复请求同一个地址. JAVA Code: /* * System Abbrev

Google Map API Version3 :代码添加和删除marker标记

转自:http://blog.sina.com.cn/s/blog_4cdc44df0100u80h.html Google Map API Version3 教程:在地图 通过代添加和删除mark标记 lat = 23.14746; lng = 113.34175376; var myLatLng = new google.maps.LatLng(lat, lng); var myOptions = { zoom: 15, center: myLatLng, mapTypeId: google

Google Map API V3开发(2)

3 Google Map API 简介 Google 地图 API 免费提供给用户并且适用于所有网站.Google 地图 API 使您能够使用 JavaScript 将 Google地图嵌入自己的网页中.API 提供了大量实用工具用以处理地图(正如 http://ditu.google.com 网页上的地图),并通过各种服务向地图添加内容,从而使您能够在您的网站上创建功能强大的地图应用程序. 4 帮助资源 ?Google Maps JavaScript API v3 ?中文页面:https://

Others # 百度秒传,MD5加密,Google Map Api Key,Google DNS优选

本文主题:百度秒传,MD5加密,Google Map Api Key,Google DNS优选 百度秒传, http://blog.sina.com.cn/s/blog_4ca33d7c0101llyh.html MD5加密, http://www.myhack58.com/Article/60/76/2008/19525.htm http://blog.csdn.net/ztz0223/article/details/2129764   md5校验和sha1校验 http://bbs.chin

Google Map Api 谷歌地图接口整理

一:基本知识: 1. 使用谷歌地图 API 的第一步就是要注册一个 API 密钥,需要注重一下两点: 1.假如使用 API 的页面还没有发布,只是在本地调试,可以不用密钥,随便用个字符串代替就可以了. 2.API 密钥只对网站目录或者域有效.对不同域的网页,需要用这些域分别注册不同的密钥 2.页面引用javascript文件<script src="http://ditu.google.com/maps?file=api&hl=zh-CN&v=2&key=abcde