如何获得城市城市的地理位置置数据

(window.slotbydup=window.slotbydup || []).push({
id: '2014386',
container: s,
size: '234,60',
display: 'inlay-fix'
&&|&&0次下载&&|&&总101页&&|
您的计算机尚未安装Flash,点击安装&
阅读已结束,如需下载到电脑,请使用积分()
下载:40积分
0人评价94页
0人评价94页
0人评价81页
0人评价94页
0人评价159页
所需积分:(友情提示:大部分文档均可免费预览!下载之前请务必先预览阅读,以免误下载造成积分浪费!)
(多个标签用逗号分隔)
文不对题,内容与标题介绍不符
广告内容或内容过于简单
文档乱码或无法正常显示
若此文档涉嫌侵害了您的权利,请参照说明。
评价文档:
下载:40积分浏览器原生跟微信JS-SDK两种方法获取用户经纬度和所在城市的方法 - JavaScript当前位置:& &&&浏览器原生跟微信JS-SDK两种方法获取用户经纬度和所浏览器原生跟微信JS-SDK两种方法获取用户经纬度和所在城市的方法&&网友分享于:&&浏览:0次浏览器原生和微信JS-SDK两种方法获取用户经纬度和所在城市的方法
网上找了很多根据经纬度获取城市的文章,没发现特别好用的,于是自己写了一个,包含自带浏览器获取经纬度和微信JS-SDK获取经纬度的方法,获取后并存入localStorage。
参考资料如下
微信JS-SDK :http://mp./wiki/7/aaa137b55fb2e48dd613f.html
百度地图API: /map/index.php?title=webapi/guide/webservice-geocoding
var getLocation = {
//浏览器原生获取经纬度方法
latAndLon: function (callback, error) {
var that =
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
var latitude = position.coords.
var longitude = position.coords.
localStorage.setItem("latitude", latitude);
localStorage.setItem("longitude", longitude);
var data = {
latitude: latitude,
longitude: longitude
if (typeof callback == "function") {
callback(data);
function () {
if (typeof error == "function") {
if (typeof error == "function") {
//微信JS-SDK获取经纬度方法
weichatLatAndLon: function (callback, error) {
var that =
var timestamp = new Date().getTime() + "";
timestamp = timestamp.substring(0, 10);
var ranStr = randomString();
//微信接口配置
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: 'XXXXXXXXXXXXXXXXX', // 必填,公众号的唯一标识
timestamp: timestamp, // 必填,生成签名的时间戳
nonceStr: ranStr, // 必填,生成签名的随机串
signature: 'XXXXXXXXXXXXXXXXX',// 必填,签名,见附录1
jsApiList: ['checkJsApi',
'getLocation'
] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
//参见微信JS SDK文档:http://mp./wiki/7/aaa137b55fb2e48dd613f.html
wx.ready(function () {
wx.getLocation({
success: function (res) {
var latitude = res. // 纬度,浮点数,范围为90 ~ -90
var longitude = res. // 经度,浮点数,范围为180 ~ -180。
var speed = res. // 速度,以米/每秒计
var accuracy = res. // 位置精度
localStorage.setItem("latitude", latitude);
localStorage.setItem("longitude", longitude);
var data = {
latitude: latitude,
longitude: longitude
if (typeof callback == "function") {
callback(data);
cancel: function () {
//这个地方是用户拒绝获取地理位置
if (typeof error == "function") {
wx.error(function (res) {
if (typeof error == "function") {
//将经纬度转换成城市名和街道地址,参见百度地图接口文档:/map/index.php?title=webapi/guide/webservice-geocoding
cityname: function (latitude, longitude, callback) {
url: 'http://api./geocoder/v2/?ak=btsVVWf0TM1zUBEbzFz6QqWF&callback=renderReverse&location=' + latitude + ',' + longitude + '&output=json&pois=1',
type: "get",
dataType: "jsonp",
jsonp: "callback",
success: function (data) {
console.log(data);
var province = data.result.addressComponent.
var cityname = (data.result.addressComponent.city);
var district = data.result.addressComponent.
var street = data.result.addressComponent.
var street_number = data.result.addressComponent.street_
var formatted_address = data.result.formatted_
localStorage.setItem("province", province);
localStorage.setItem("cityname", cityname);
localStorage.setItem("district", district);
localStorage.setItem("street", street);
localStorage.setItem("street_number", street_number);
localStorage.setItem("formatted_address", formatted_address);
//domTempe(cityname,latitude,longitude);
var data = {
latitude: latitude,
longitude: longitude,
cityname: cityname
if (typeof callback == "function") {
callback(data);
//设置默认城市
setDefaultCity: function (callback) {
alert("获取地理位置失败!");
//默认经纬度
var latitude = "31.337882";
var longitude = "120.616634";
var cityname = "苏州市";
localStorage.setItem("latitude", latitude);
localStorage.setItem("longitude", longitude);
localStorage.setItem("cityname", cityname);
localStorage.setItem("province", "江苏省");
localStorage.setItem("district", "虎丘区");
localStorage.setItem("street", "珠江路");
localStorage.setItem("street_number", "88号");
localStorage.setItem("formatted_address", "江苏省苏州市虎丘区珠江路88号");
var data = {
latitude: latitude,
longitude: longitude,
cityname: cityname
if (typeof callback == "function") {
callback(data);
//更新地理位置
refresh: function (callback) {
var that =
//重新获取经纬度和城市街道并设置到localStorage
that.latAndLon(
function (data) {
that.cityname(data.latitude, data.longitude, function (datas) {
if (typeof callback == "function") {
callback();
function(){
that.setDefaultCity(function(){
if (typeof callback == "function") {
callback();
//原生浏览器获取经纬度方法
getLocation.latAndLon(
function (data) {
//data包含经纬度信息
AGG.getLocation.cityname(data.latitude, data.longitude, function (datas) {
//datas包含经纬度信息和城市
function () {
AGG.getLocation.setDefaultCity(
function (defaultData) {
//设置默认城市
//微信JS-SDK获取经纬度方法
getLocation.weichatLatAndLon(
function (data) {
//data包含经纬度信息
AGG.getLocation.cityname(data.latitude, data.longitude, function (datas) {
//datas包含经纬度信息和城市
function () {
AGG.getLocation.setDefaultCity(
function (defaultData) {
//设置默认城市
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 1234567891011 Copyright & &&版权所有HTML5通过获取地理位置经纬度,判断城市-html5教程-网页制作-壹聚教程网HTML5通过获取地理位置经纬度,判断城市
经纬度在以前我们肯定是通过百度地图或google地图来获得用户的经纬度然后判断所在城市了,现在我们可以直接使用html5来进行定位了,下面一起来看一个利用 HTML5通过获取地理位置经纬度,判断城市的例子。
html5提供了获取地理位置的api,很方便确定客户的经纬度,我们获取到经纬度以后,可以通过百度地图提供的api确定用户的所在位置。
&!DOCTYPE html&&
&&& &meta charset=&utf-8&/&&
&&& &title&基于浏览器的HTML5查找地理位置&/title&
&&& &!-- 百度API --&
&&script src=&http://api./api?v=1.2& type=&text/&&&/script&
& &script&
&&&&&&&&&& function getLocation(){
&&&&&&&&&&&&&& var options={
&&&&&&&&&&&&&&&&&& enableHighAccuracy:true,
&&&&&&&&&&&&&&&&&& maximumAge:1000
&&&&&&&&&&&&&& }
&&&&&&&&&&&&&& if(navigator.geolocation){
&&&&&&&&&&&&&&&&&& //浏览器支持geolocation
&&&&&&&&&&&&&&&&&& navigator.geolocation.getCurrentPosition(onSuccess,onError,options);
&&&&&&&&&&&&&& }else{
&&&&&&&&&&&&&&&&&& //浏览器不支持geolocation
&&&&&&&&&&&&&&&&&& alert('您的浏览器不支持地理位置定位');
&&&&&&&&&&&&&& }
&&&&&&&&&& }
&&&&&&&&&& //成功时
&&&&&&&&&& function onSuccess(position){
&&&&&&&&&&&&&& //返回用户位置
&&&&&&&&&&&&&& //经度
&&&&&&&&&&&&&& var longitude =position.coords.
&&&&&&&&&&&&&& //纬度
&&&&&&&&&&&&&& var latitude = position.coords.
&&&&alert('经度'+longitude+',纬度'+latitude);
&&&&&&&&&&&&&&
&&&&&&&&&&&&&& //根据经纬度获取地理位置,不太准确,获取城市区域还是可以的
&&&&var map = new BMap.Map(&allmap&);
&&&&var point = new BMap.Point(longitude,latitude);
&&&&var gc = new BMap.Geocoder();
&&&&gc.getLocation(point, function(rs){
&&&&&& var addComp = rs.addressC
&&&&&& alert(addComp.province + &, & + addComp.city + &, & + addComp.district + &, & + addComp.street + &, & + addComp.streetNumber);
&&&&&&&&&& }
&&&&&&&&&& //失败时
&&&&&&&&&& function onError(error){
&&&&&&&&&&&&&& switch(error.code){
&&&&&&&&&&&&&&&&&& case 1:
&&&&&&&&&&&&&&&&&& alert(&位置服务被拒绝&);
&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&& case 2:
&&&&&&&&&&&&&&&&&& alert(&暂时获取不到位置信息&);
&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&& case 3:
&&&&&&&&&&&&&&&&&& alert(&获取信息超时&);
&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&& case 4:
&&&&&&&&&&&&&&&&&&& alert(&未知错误&);
&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&& }
&&&&&&&&&& }
&&&&&&&&&& window.onload=getL
&& &/script&
目前在电脑上有时不能获取,手机端还是很好的,另外,获取的定位不是十分准确,但是用来获取城市区域还是可以的。
其实这个就是调用了百度地图+html5来实现了,非常的不错。
上一页: &&&&&下一页:相关内容php根据地理坐标获取国家、省份、城市,及周边数据类
fdipzone上传于
php根据地理坐标获取国家、省份、城市,及周边数据类
0分|下载136次|2KB
* 根据地理坐标获取国家、省份、城市,及周边数据类(利用百度Geocoding API实现)
* 百度密钥获取方法:/apiconsole/key?application=key(需要先注册百度开发者账号)
getAddressComponent 根据地址获取国家、省份、城市及周边数据
* Private toCurl
使用curl调用百度Geocoding API
收藏(1)评论分享
新浪微博QQ好友QQ空间}

我要回帖

更多关于 城市的地理位置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信