web端

 

适用环境                

Web版百度地图面向PC&移动端浏览器的网站应用或移动APP应用,其中PC浏览器调起的百度地图地址为:http://map.baidu.com/ 移动端调起的百度地图地址为:http://map.baidu.com/mobile/ 。

协议形式                

scheme://hostname/service?parameters
                   

示例:

http://api.map.baidu.com/marker?location=39.916979519873,116.41004950566&title=我的位置&content=百度奎科大厦&output=html    //可以在PC、移动设备浏览器上打开打开该链接显示地图上的点
                   

移动设备浏览器调起效果如下:

urlapi1.jpg                

Webapp示例组成说明:

域名:对应hostname,如api.map.baidu.com

服务名:对应service,如marker

参数:对应parameters,如 location,title,content,output等。

功能使用说明                

地图标点功能                

调用该接口可调起PC或web地图,且在指定坐标点上显示点的名称和内容信息。

服务地址                

http://api.map.baidu.com/marker     //PC&WebApp服务地址
                   

参数说明                

参数名称参数说明是否必选备注
locationlat<纬度>,lng<经度>必选 
title标注点显示标题必选 
content标注点显示内容必选 
output表示输出类型,web上必须指定为html才能展现地图产品结果。必选 
coord_type坐标类型,可选参数默认为bd09经纬度坐标。允许的值为bd09ll、bd09mc、gcj02、wgs84。bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托坐标,gcj02表示经过国测局加密的坐标,wgs84表示gps获取的坐标。 
zoom展现地图的级别,默认为视觉最优级别。可选 
srcappName。必选此参数不传值,不保证服务。

示例                

http://api.map.baidu.com/marker?location=40.047669,116.313082&title=我的位置&content=百度奎科大厦&output=html&src=yourComponyName|yourAppName    //调起百度PC或web地图,且在(lat:39.916979519873,lng:116.41004950566)坐标点上显示名称"我的位置",内容"百度奎科大厦"的信息窗口。
                   

在iOS浏览器打开以上链接会调起百度web地图,详情页面如左图,点击"我的位置"后进入右图。

地址解析                

调用该接口可以在调起百度地图时,当前页面显示地址对应的坐标点。

服务地址                

http://api.map.baidu.com/geocoder   //PC&Webapp服务地址
                   

参数说明                

参数名称参数说明是否必选备注
address地址名称必选 
output表示输出类型,web上必须指定为html才能展现地图产品结果。必选手机客户端忽略此参数
coord_type坐标类型,可选参数,默认为bd09经纬度坐标。允许的值为bd09ll、bd09mc、gcj02、wgs84。bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托坐标,gcj02表示经过国测局加密的坐标,wgs84表示gps获取的坐标。可选 
zoom展现地图的级别,默认为视觉最优级别。可选 
srcappName。必选此参数不传值,不保证服务。


示例                

http://api.map.baidu.com/geocoder?address=北京市海淀区上地信息路9号奎科科技大厦&output=html&src=yourCompanyName|yourAppName
                   

在iOS浏览器打开以上链接会调起百度web地图,详情页面如左图,点击"地图"后进入右图。

urlapi3.jpg                

反向地址解析(地址查询)                

调用该接口可调起PC或Web百度地图,经过逆地理编码后,以标注形式显示位置和地址信息。


服务地址                

http://api.map.baidu.com/geocoder       //PC&Webapp服务地址
                   

参数说明                

参数名称参数说明是否必选备注
locationlat<纬度>,lng<经度>必选 
output表示输出类型,web上必须指定为html才能展现地图产品结果。必选手机客户端忽略此参数
coord_type坐标类型,可选参数,默认为bd09经纬度坐标。允许的值为bd09ll、bd09mc、gcj02、wgs84。bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托坐标,gcj02表示经过国测局加密的坐标,wgs84表示gps获取的坐标。可选 
zoom展现地图的级别,默认为视觉最优级别。可选 
srcappName。必选此参数不传值,不保证服务。


示例                

http://api.map.baidu.com/geocoder?location=39.990912172420714,116.32715863448607&coord_type=gcj02&output=html&src=yourCompanyName|yourAppName
                   

POI(地点)搜索                

调用该接口可调起PC或Web百度地图,通过本地检索服务,以列表形式显示符合查询条件的点。


服务地址                

http://api.map.baidu.com/place/search    //PC&Webapp服务地址
                   

参数说明                

参数名称参数说明是否必选备注
query关键词必选 
region城市名或县名选择方式:地点搜索限定范围可以由region、bounds和location + radius方式进行,其中bounds优先级最高、region优先级最低(与web服务保持一致)。 
location中心点经纬度,或中心点经纬度和名称描述,注意,名称不参与检索,只负责显示。同上1、39.9761<纬度>,116.3282<经度>

2、39.9761<纬度>,116.3282<经度>| 中关村<名称>

radius检索半径同上 
bounds视野范围同上lat,lng<左下角>,lat,lng<右上角>
output表示输出类型,web上必须指定为html才能展现地图产品结果。必选手机客户端忽略此参数
coord_type坐标类型,可选参数可选默认为bd09经纬度坐标。允许的值为bd09ll、gcj02、wgs84。bd09ll表示百度经纬度坐标, gcj02表示经过国测局加密的坐标,wgs84表示gps获取的坐标。
zoom展现地图的级别,默认为视觉最优级别。可选 
srcappName。必选此参数不传值,不保证服务。


示例                

http://api.map.baidu.com/place/search?query=海底捞&location=31.204055632862,121.41117785465&radius=1000&region=上海&output=html&src=yourCompanyName|yourAppName   //周边检索
                   

在iOS浏览器打开以上链接会调起百度web地图,详情页面如左图,点击"地图"后进入右图。

urlapi4.jpg                

POI详情页展示                

调用该接口可调起PC或Web百度地图,通过POI详情查询服务,显示指定点的详情信息。


服务地址                

http://api.map.baidu.com/place/detail   //PC&Webapp服务地址
                   

参数说明                

参数名称参数说明是否必选备注
uidPOI的ID必选 
output表示输出类型,web上必须指定为html才能展现地图产品结果。必选手机客户端忽略此参数
zoom展现地图的级别,默认为视觉最优级别。可选 
srcappName。必选此参数不传值,不保证服务。


示例                

http://api.map.baidu.com/place/detail?uid=d3099bdd81c525dbd1f49ee6&output=html&src=yourCompanyName|yourAppName   //调起百度PC或Web地图
                   

在iOS浏览器打开以上链接会调起百度web地图,详情页面如左图,点击"地图"后进入右图。

urlapi5.jpg                

公交、地铁线路查询                

调用该接口可调起PC或Web百度地图,通过线路查询服务,以列表形式显示线路信息。


服务地址                

http://api.map.baidu.com/line    //PC&Webapp服务地址
                   

参数说明                

参数名称参数说明是否必选备注
region城市名或县名必选 
name线路名称必选 
output表示输出类型,web上必须指定为html才能展现地图产品结果。必选手机客户端忽略此参数
zoom展现地图的级别,默认为视觉最优级别。可选 
srcappName。必选此参数不传值,不保证服务。


示例                

http://api.map.baidu.com/line?region=北京&name=518&output=html&src=yourCompanyName|yourAppName    //调起百度PC或Web地图
                   

在iOS浏览器打开以上链接会调起百度web地图,详情页面如左图,点击"地图"后进入右图。

urlapi6.jpg                

公交、驾车、步行导航                

服务地址                

http://api.map.baidu.com/direction   //PC&Webapp服务地址
                   

参数                

参数名称参数说明是否必选备注
origin起点名称或经纬度,或者可同时提供名称和经纬度,此时经纬度优先级高,将作为导航依据,名称只负责展示。必选1、名称:天安门

2、经纬度:39.98871<纬度>,116.43234<经度>。 3、名称和经纬度:name:天安门|latlng:39.98871,116.43234

destination终点名称或经纬度,或者可同时提供名称和经纬度,此时经纬度优先级高,将作为导航依据,名称只负责展示。必选同上
mode导航模式,固定为transit、driving、walking,分别表示公交、驾车和步行必选 
region城市名或县名当给定region时,认为起点和终点都在同一城市,除非单独给定起点或终点的城市。 
origin_region起点所在城市或县同上 
destination_region终点所在城市或县同上 
output表示输出类型,web上必须指定为html才能展现地图产品结果。必选手机客户端忽略此参数
coord_type坐标类型,可选参数可选默认为bd09经纬度坐标。允许的值为bd09ll、bd09mc、gcj02、wgs84。bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托坐标,gcj02表示经过国测局加密的坐标,wgs84表示gps获取的坐标
zoom展现地图的级别,默认为视觉最优级别。可选 
srcappName。必选 


示例                

http://api.map.baidu.com/direction?origin=latlng:34.264642646862,108.95108518068|name:我家&destination=大雁塔&mode=driving&region=西安&output=html&src=yourCompanyName|yourAppName
 
//调起百度PC或Web地图,展示"西安市"从(lat:34.264642646862,lng:108.95108518068 )"我家"到"大雁塔"的驾车路线。
                   

在iOS浏览器打开以上链接会调起百度web地图,详情页面如左图,点击"地图"后进入右图。

urlapi7.jpg                

 

全景服务                

调用该接口可以在调起百度地图api时,当前页面显示对应的全景点。

服务地址                

http://api.map.baidu.com/pano   //PC&Webapp服务地址
                   

参数                

参数名称参数说明是否必选备注
ak应用秘钥必选 
xy经纬度xy/pid/uid三组参数必选一组显示该经纬周围最近的全景点
pid全景的idxy/pid/uid三组参数必选一组显示该id的全景点
uidpoiidxy/pid/uid三组参数必选一组显示该poi的全景点
h水平角度可选默认为该场景点最佳角度
p垂直视角可选默认为该场景点最佳角度
nc是否显示鱼骨控件可选默认为1,即开启
lc是否显示拓扑箭头可选默认为1,即开启
issc是否显示内景场景切换控件可选默认为1,即开启
ac是否相册控件可选默认为0,即关闭
z场景缩放级别可选默认为3
iec是否显示内部全景出口可选默认为1,即显示内景出口


示例                

http://api.map.baidu.com/pano/?x=120.320032&y=31.589666&lc=0&ak=您的秘钥
                   

调用该接口可调起PC或Web百度地图

来自 http://developer.baidu.com/map/wiki/index.php?title=uri/api/web

 

web端URI API                

适用环境                        

Web版百度地图面向PC&移动端浏览器的网站应用或移动APP应用,其中PC浏览器调起的百度地图地址为:http://map.baidu.com/ 移动端调起的百度地图地址为:http://map.baidu.com/mobile/ 。

协议形式                        

scheme://hostname/service?parameters
                           

示例:

http://api.map.baidu.com/marker?location=39.916979519873,116.41004950566&title=我的位置&content=百度奎科大厦&output=html    //可以在PC、移动设备浏览器上打开打开该链接显示地图上的点
                           

移动设备浏览器调起效果如下:

urlapi1.jpg                        

Webapp示例组成说明:

域名:对应hostname,如api.map.baidu.com

服务名:对应service,如marker

参数:对应parameters,如 location,title,content,output等。

功能使用说明                        

地图标点功能                        

调用该接口可调起PC或web地图,且在指定坐标点上显示点的名称和内容信息。

服务地址                        

http://api.map.baidu.com/marker     //PC&WebApp服务地址
                           

参数说明                        

参数名称参数说明是否必选备注
locationlat<纬度>,lng<经度>必选 
title标注点显示标题必选 
content标注点显示内容必选 
output表示输出类型,web上必须指定为html才能展现地图产品结果。必选 
coord_type坐标类型,可选参数默认为bd09经纬度坐标。允许的值为bd09ll、bd09mc、gcj02、wgs84。bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托坐标,gcj02表示经过国测局加密的坐标,wgs84表示gps获取的坐标。 
zoom展现地图的级别,默认为视觉最优级别。可选 
srcappName。必选此参数不传值,不保证服务。

示例                        

http://api.map.baidu.com/marker?location=40.047669,116.313082&title=我的位置&content=百度奎科大厦&output=html&src=yourComponyName|yourAppName    //调起百度PC或web地图,且在(lat:39.916979519873,lng:116.41004950566)坐标点上显示名称"我的位置",内容"百度奎科大厦"的信息窗口。
                           

在iOS浏览器打开以上链接会调起百度web地图,详情页面如左图,点击"我的位置"后进入右图。

地址解析                        

调用该接口可以在调起百度地图时,当前页面显示地址对应的坐标点。

服务地址                        

http://api.map.baidu.com/geocoder   //PC&Webapp服务地址
                           

参数说明                        

参数名称参数说明是否必选备注
address地址名称必选 
output表示输出类型,web上必须指定为html才能展现地图产品结果。必选手机客户端忽略此参数
coord_type坐标类型,可选参数,默认为bd09经纬度坐标。允许的值为bd09ll、bd09mc、gcj02、wgs84。bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托坐标,gcj02表示经过国测局加密的坐标,wgs84表示gps获取的坐标。可选 
zoom展现地图的级别,默认为视觉最优级别。可选 
srcappName。必选此参数不传值,不保证服务。


示例                        

http://api.map.baidu.com/geocoder?address=北京市海淀区上地信息路9号奎科科技大厦&output=html&src=yourCompanyName|yourAppName
                           

在iOS浏览器打开以上链接会调起百度web地图,详情页面如左图,点击"地图"后进入右图。

urlapi3.jpg                        

反向地址解析(地址查询)                        

调用该接口可调起PC或Web百度地图,经过逆地理编码后,以标注形式显示位置和地址信息。


服务地址                        

http://api.map.baidu.com/geocoder       //PC&Webapp服务地址
                           

参数说明                        

参数名称参数说明是否必选备注
locationlat<纬度>,lng<经度>必选 
output表示输出类型,web上必须指定为html才能展现地图产品结果。必选手机客户端忽略此参数
coord_type坐标类型,可选参数,默认为bd09经纬度坐标。允许的值为bd09ll、bd09mc、gcj02、wgs84。bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托坐标,gcj02表示经过国测局加密的坐标,wgs84表示gps获取的坐标。可选 
zoom展现地图的级别,默认为视觉最优级别。可选 
srcappName。必选此参数不传值,不保证服务。


示例                        

http://api.map.baidu.com/geocoder?location=39.990912172420714,116.32715863448607&coord_type=gcj02&output=html&src=yourCompanyName|yourAppName
                           

POI(地点)搜索                        

调用该接口可调起PC或Web百度地图,通过本地检索服务,以列表形式显示符合查询条件的点。


服务地址                        

http://api.map.baidu.com/place/search    //PC&Webapp服务地址
                           

参数说明                        

参数名称参数说明是否必选备注
query关键词必选 
region城市名或县名选择方式:地点搜索限定范围可以由region、bounds和location + radius方式进行,其中bounds优先级最高、region优先级最低(与web服务保持一致)。 
location中心点经纬度,或中心点经纬度和名称描述,注意,名称不参与检索,只负责显示。同上1、39.9761<纬度>,116.3282<经度>

2、39.9761<纬度>,116.3282<经度>| 中关村<名称>

radius检索半径同上 
bounds视野范围同上lat,lng<左下角>,lat,lng<右上角>
output表示输出类型,web上必须指定为html才能展现地图产品结果。必选手机客户端忽略此参数
coord_type坐标类型,可选参数可选默认为bd09经纬度坐标。允许的值为bd09ll、gcj02、wgs84。bd09ll表示百度经纬度坐标, gcj02表示经过国测局加密的坐标,wgs84表示gps获取的坐标。
zoom展现地图的级别,默认为视觉最优级别。可选 
srcappName。必选此参数不传值,不保证服务。


示例                        

http://api.map.baidu.com/place/search?query=海底捞&location=31.204055632862,121.41117785465&radius=1000&region=上海&output=html&src=yourCompanyName|yourAppName   //周边检索
                           

在iOS浏览器打开以上链接会调起百度web地图,详情页面如左图,点击"地图"后进入右图。

urlapi4.jpg                        

POI详情页展示                        

调用该接口可调起PC或Web百度地图,通过POI详情查询服务,显示指定点的详情信息。


服务地址                        

http://api.map.baidu.com/place/detail   //PC&Webapp服务地址
                           

参数说明                        

参数名称参数说明是否必选备注
uidPOI的ID必选 
output表示输出类型,web上必须指定为html才能展现地图产品结果。必选手机客户端忽略此参数
zoom展现地图的级别,默认为视觉最优级别。可选 
srcappName。必选此参数不传值,不保证服务。


示例                        

http://api.map.baidu.com/place/detail?uid=d3099bdd81c525dbd1f49ee6&output=html&src=yourCompanyName|yourAppName   //调起百度PC或Web地图
                           

在iOS浏览器打开以上链接会调起百度web地图,详情页面如左图,点击"地图"后进入右图。

urlapi5.jpg                        

公交、地铁线路查询                        

调用该接口可调起PC或Web百度地图,通过线路查询服务,以列表形式显示线路信息。


服务地址                        

http://api.map.baidu.com/line    //PC&Webapp服务地址
                           

参数说明                        

参数名称参数说明是否必选备注
region城市名或县名必选 
name线路名称必选 
output表示输出类型,web上必须指定为html才能展现地图产品结果。必选手机客户端忽略此参数
zoom展现地图的级别,默认为视觉最优级别。可选 
srcappName。必选此参数不传值,不保证服务。


示例                        

http://api.map.baidu.com/line?region=北京&name=518&output=html&src=yourCompanyName|yourAppName    //调起百度PC或Web地图
                           

在iOS浏览器打开以上链接会调起百度web地图,详情页面如左图,点击"地图"后进入右图。

urlapi6.jpg                        

公交、驾车、步行导航                        

服务地址                        

http://api.map.baidu.com/direction   //PC&Webapp服务地址
                           

参数                        

参数名称参数说明是否必选备注
origin起点名称或经纬度,或者可同时提供名称和经纬度,此时经纬度优先级高,将作为导航依据,名称只负责展示。必选1、名称:天安门

2、经纬度:39.98871<纬度>,116.43234<经度>。 3、名称和经纬度:name:天安门|latlng:39.98871,116.43234

destination终点名称或经纬度,或者可同时提供名称和经纬度,此时经纬度优先级高,将作为导航依据,名称只负责展示。必选同上
mode导航模式,固定为transit、driving、walking,分别表示公交、驾车和步行必选 
region城市名或县名当给定region时,认为起点和终点都在同一城市,除非单独给定起点或终点的城市。 
origin_region起点所在城市或县同上 
destination_region终点所在城市或县同上 
output表示输出类型,web上必须指定为html才能展现地图产品结果。必选手机客户端忽略此参数
coord_type坐标类型,可选参数可选默认为bd09经纬度坐标。允许的值为bd09ll、bd09mc、gcj02、wgs84。bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托坐标,gcj02表示经过国测局加密的坐标,wgs84表示gps获取的坐标
zoom展现地图的级别,默认为视觉最优级别。可选 
srcappName。必选 


示例                        

http://api.map.baidu.com/direction?origin=latlng:34.264642646862,108.95108518068|name:我家&destination=大雁塔&mode=driving&region=西安&output=html&src=yourCompanyName|yourAppName
 
//调起百度PC或Web地图,展示"西安市"从(lat:34.264642646862,lng:108.95108518068 )"我家"到"大雁塔"的驾车路线。
                           

在iOS浏览器打开以上链接会调起百度web地图,详情页面如左图,点击"地图"后进入右图。

urlapi7.jpg                        

 

全景服务                        

调用该接口可以在调起百度地图api时,当前页面显示对应的全景点。

服务地址                        

http://api.map.baidu.com/pano   //PC&Webapp服务地址
                           

参数                        

参数名称参数说明是否必选备注
ak应用秘钥必选 
xy经纬度xy/pid/uid三组参数必选一组显示该经纬周围最近的全景点
pid全景的idxy/pid/uid三组参数必选一组显示该id的全景点
uidpoiidxy/pid/uid三组参数必选一组显示该poi的全景点
h水平角度可选默认为该场景点最佳角度
p垂直视角可选默认为该场景点最佳角度
nc是否显示鱼骨控件可选默认为1,即开启
lc是否显示拓扑箭头可选默认为1,即开启
issc是否显示内景场景切换控件可选默认为1,即开启
ac是否相册控件可选默认为0,即关闭
z场景缩放级别可选默认为3
iec是否显示内部全景出口可选默认为1,即显示内景出口


示例                        

http://api.map.baidu.com/pano/?x=120.320032&y=31.589666&lc=0&ak=您的秘钥
                           

调用该接口可调起PC或Web百度地图


来自 http://lbsyun.baidu.com/index.php?title=uri/api/web
 

HTML如何调用手机已安装的地图软件导航                    

我想在一个HTML页面中放置一个按钮,手机访问该页面,点击该按钮,调用手机上已安装的导航软件,根据我当前的位置,导航到目标地点。 类似微信中,发送我的位置,点击位置后,可以调用手机内已安装的地图程序,导航我到该位置。不过不是微信,而是在我的HTML...展开                    
 nullobject | 浏览 2506 次  2013-08-05 22:30
2013-08-26 09:23                         最佳答案                    
 
<a 
href="baidumap://map/direction?mode=[transit:公交,driving:驾车]&origin=纬
度,经度&destination=纬度,经度®ion=城市代码">点击我调用百度地图导航</>
android:
<a
 
href="intent://map/direction?mode=[transit:公交,driving:驾车]&origin=纬度,
经度&destination=纬度,经度®ion=城市代码">点击我调用百度地图导航</>

来自  http://zhidao.baidu.com/link?url=7E-kI3pwlx1xplbSNE-uoNFC4SX3QFfwENeHDBOmx1u6FVRVJezreiEew6dXopnRQHorMQam26cmgVffDfFi_K


                           

HTML5通过获取地理位置经纬度,判断城市

www.111cn.net 编辑:xiewen 来源:本站整理
经纬度在以前我们肯定是通过百度地图或google地图来获得用户的经纬度然后判断所在城市了,现在我们可以直接使用html5来进行定位了,下面一起来看一个利用 HTML5通过获取地理位置经纬度,判断城市的例子。
                                   


html5提供了获取地理位置的api,很方便确定客户的经纬度,我们获取到经纬度以后,可以通过百度地图提供的api确定用户的所在位置。


<!DOCTYPE html>  
<html>  
<head>  
    <meta charset="utf-8"/>  
    <title>基于浏览器的HTML5查找地理位置</title> 
    <!-- 百度API -->
 <script src="http://api.map.baidu.com/api?v=1.2" type="text/javascript"></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.longitude;
               //纬度
               var latitude = position.coords.latitude;

    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.addressComponents;
       alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
    });

           }

           //失败时
           function onError(error){
               switch(error.code){
                   case 1:
                   alert("位置服务被拒绝");
                   break;

                   case 2:
                   alert("暂时获取不到位置信息");
                   break;

                   case 3:
                   alert("获取信息超时");
                   break;

                   case 4:
                    alert("未知错误");
                   break;
               }

           }

           window.onload=getLocation;
         
   </script>
</head>
<body>
</body>
</html>

目前在电脑上有时不能获取,手机端还是很好的,另外,获取的定位不是十分准确,但是用来获取城市区域还是可以的。

其实这个就是调用了百度地图+html5来实现了,非常的不错。



来自 http://developer.baidu.com/map/wiki/index.php?title=uri/api/web

HTML5通过获取地理位置经纬度,判断城市

www.111cn.net 编辑:xiewen 来源:本站整理
经纬度在以前我们肯定是通过百度地图或google地图来获得用户的经纬度然后判断所在城市了,现在我们可以直接使用html5来进行定位了,下面一起来看一个利用 HTML5通过获取地理位置经纬度,判断城市的例子。
 


html5提供了获取地理位置的api,很方便确定客户的经纬度,我们获取到经纬度以后,可以通过百度地图提供的api确定用户的所在位置。


<!DOCTYPE html>  
<html>  
<head>  
    <meta charset="utf-8"/>  
    <title>基于浏览器的HTML5查找地理位置</title> 
    <!-- 百度API -->
 <script src="http://api.map.baidu.com/api?v=1.2" type="text/javascript"></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.longitude;
               //纬度
               var latitude = position.coords.latitude;

    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.addressComponents;
       alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
    });

           }

           //失败时
           function onError(error){
               switch(error.code){
                   case 1:
                   alert("位置服务被拒绝");
                   break;

                   case 2:
                   alert("暂时获取不到位置信息");
                   break;

                   case 3:
                   alert("获取信息超时");
                   break;

                   case 4:
                    alert("未知错误");
                   break;
               }

           }

           window.onload=getLocation;
         
   </script>
</head>
<body>
</body>
</html>

目前在电脑上有时不能获取,手机端还是很好的,另外,获取的定位不是十分准确,但是用来获取城市区域还是可以的。

其实这个就是调用了百度地图+html5来实现了,非常的不错。

来自 http://www.111cn.net/wy/html5/89579.htm

javascript 怎么获得手机地理位置 比如经纬度                                

javascript 怎么获得手机地理位置 比如经纬度                                
 一堵墙额呵呵 | 浏览 7654 次  2014-04-20 10:08
2015-12-09 13:38                                     最佳答案                                
 

javascript 获得手机地理位置代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
    function getLocation(callback){                                                                
    if(navigator.geolocation){                                                                
        navigator.geolocation.getCurrentPosition(                                                                
                function(p){                                                                
                    callback(p.coords.latitude, p.coords.longitude);                                                                
                },                                                                
                function(e){                                                                
                    var msg = e.code + "\n" + e.message;                                                                
                }                                                                
        );                                                                
    }                                                                
}                                                                
 
 本回答由电脑网络分类达人 汪雷 推荐
评论 
0 0                                                

                                           

千锋教育  | 中国移动互联网研发培训领导品...                                            

主营:iOS、Android、HTML5、UI、PHP、Java培训

给TA留言                                    

其他回答

                                           
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<script>                                                                        
    navigator.geolocation.getCurrentPosition( // 该函数有如下三个参数                                                                        
        function(pos){ // 如果成果则执行该回调函数                                                                        
            alert(                                                                        
                '  经度:' + pos.coords.latitude +                                                                        
                '  纬度:' + pos.coords.longitude +                                                                        
                '  高度:' + pos.coords.altitude +                                                                        
                '  精确度(经纬):' + pos.coords.accuracy +                                                                        
                '  精确度(高度):' + pos.coords.altitudeAccuracy +                                                                        
                '  速度:' + pos.coords.speed                                                                        
            );                                                                        
        }, function(err){ // 如果失败则执行该回调函数                                                                        
            alert(err.message);                                                                        
        }, { // 附带参数                                                                        
            enableHighAccuracy: false// 提高精度(耗费资源)                                                                        
            timeout: 3000, // 超过timeout则调用失败的回调函数                                                                        
            maximumAge: 1000 // 获取到的地理信息的有效期,超过有效期则重新获取一次位置信息                                                                        
        }                                                                        
    );                                                                        
</script>


来自 http://zhidao.baidu.com/link?url=W4iCv6XTiNpSERy1ngE2EkAdLiOTTRroiuqGeWeOYGfxy3OxPhGPrTl-BmKyqkCwZizoNCa9HeZnUzw-3Kr39Sox5zP_qLkVAwgNu5YRLbe