如何使用百度地图行政区划边界API获取行政边界并且显示边界的信息窗口

前言&& 近来由于工作需要,需要提取某些城市的经纬度坐标,稍微搜索了一下,发现百度地图和高德地图都提供了相关的函数和例子.那么剩余的工作也就比较简单了,保存坐标,然后转换为WGS坐标,这样才能和现有的GPS数据以及地图匹配.主要问题和解决方法本地保存文件跨浏览器支持&&&&& 由于安全的原因,JavaScript本地保存文件的方式通常都只有IE支持的ActiveXObject/Open方法,每次都要提示不安全和允许运行,非常麻烦.好在其他浏览器目前都支持&a&标签实现文件下载的方法.经测试最新的Google Chrome, Mozilla Firefox,百度浏览器,360浏览器下都可以运行.不说废话,直接上代码: function Download() {
if(/msie/i.test(navigator.userAgent)) {
var w = window.open("", "导出", "height=0,width=0,toolbar=no,menubar=no,scrollbars=no,resizable=on,location=no,status=no");
var filename = document.getElementById("filename").
var content = document.getElementById("content").
w.document.charset = "UTF-8";
w.document.write(content);
w.document.execCommand("SaveAs", false, filename+'.txt');
w.close();
// Firefox/Chrome/Safari/Opera
var filename = document.getElementById("filename").
var content = document.getElementById("content").
str = encodeURIComponent(content);
document.getElementById("SaveChrome").download = filename+'.txt';
var aLink = document.getElementById("SaveChrome") ;
aLink.href = "data:text/charset=utf-8,"+
aLink.click();
} 经纬度转换&&&& 这个话题感兴趣的朋友可以自己搜索火星坐标相关转换,精度在1m范围的网上提供有服务可以免费使用.自写程序经验证精度在6m 以内.百度地图方法&&& 关键函数是 BMap.Boundary() 生成的类,调用它的方法get就可以通过名称获得县或市级以上的行政区域.
function getBoundary() {
var bdary = new BMap.Boundary();
var name = document.getElementById("districtName").
bdary.get(name, function (rs) {
//获取行政区域
var fileName = "";
var newFileObject = fso.CreateTextFile(folderName + "\\" + name + ".txt", true);
map.clearOverlays();
//清除地图覆盖物
var count = rs.boundaries. //行政区域的点有多少个
for (var i = 0; i & i++) {
var ply = new BMap.Polygon(rs.boundaries[i], { strokeWeight: 2, strokeColor: "#ff0000" }); //建立多边形覆盖物
map.addOverlay(ply); //添加覆盖物
map.setViewport(ply.getPath());
//调整视野
newFileObject.write(rs.boundaries[0]);
newFileObject.Close();
}高德地图关键代码通过阅读示例文件可以发现在下拉列表返回里面有边界值的出现.
amapAdcode.search = function(adcodeLevel, keyword, selectId) {//查询行政区划列表并生成相应的下拉列表
if (adcodeLevel == 'district'||adcodeLevel == 'city') {//第三级时查询边界点
this._district.setExtensions('all');
this._district.setExtensions('base');
this._district.setLevel(adcodeLevel); //行政区级别
this._district.search(keyword, function(status, result) {//注意,api返回的格式不统一,在下面用三个条件分别处理
var districtData = result.districtList[0];
if (districtData.districtList) {
me.createSelectList(selectId, districtData.districtList);
} else if (districtData.districts) {
me.createSelectList(selectId, districtData.districts);
document.getElementById(selectId).innerHTML = '';
map.setCenter(districtData.center);
me.clearMap();
me.addPolygon(districtData.boundaries);其中的districtData.boundaries 就是我们需要的.调试了一下,大胆猜测果然是实现了Tostring() 方法的一个对象. "104.....997,104.647748..." 很明显的就是我们需要的gcj坐标.&总结至此,基本也就没有什么问题了,剩余的工作就是解析得到的文件.需要提取全国的数据也就是循环读取全国城市列表文件了.(通常搜索cityname,电脑里面都会找到的,原因,呵呵,猜测是迅雷,QQ之类的IP定位需要吧.)重要的一点,推荐使用高德地图,原因就是百度地图得到的行政规划有问题,不包含县级市.最典型的就是贵州省,很多地市都是分离的,是带岛或洞的复杂多边形.百度在这里完败.关于怎么处理这里复杂的多边形以支持在MapWinGIS显示和处理,下次会写一篇笔记.
、 、 、 、 、&&&&百度地图行政区划边界批量下载
&百度地图行政区划边界批量下载
看到网上不少介绍百度地图行政区划功能的帖子,看到酸奶小妹的博客上一篇“【百度地图API】自行获取区域经纬度的工具”,感觉写的非常不错,这篇文章描述了获取百度地图的api,
,感觉行政区划在做一些空间检索和分析的时候用处挺大,写了个批量下载工具可以把百度地图的行政区划给抓了下来,留着以后备用.
现把这个工具拿出来给大家分享一下
这个工具开发起来也比较简单使用vs2005开发的,基于.net2.0框架运行,程序下载点击这里哦。下载器.rar
开发中主要适用了webbrowser控件、button、下拉框、进度条。
下载后的坐标文件存储在运行程序的根目录下。
看一下运行效果吧。
详见/hzb2010/archive//2544096.html
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
关注并绑定CSDNID,送10个下载分
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
开发技术下载排行
您当前C币:0&&&可兑换 0 下载积分
兑换下载分:&
消耗C币:0&
立即兑换&&
兑换成功你当前的下载分为 。前去下载资源
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
百度地图行政区划边界批量下载
所需积分:1
剩余积分:0
扫描微信二维码精彩活动、课程更新抢先知
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
百度地图行政区划边界批量下载
剩余次数:&&&&有效期截止到:
你还不是VIP会员VIP会员享免积分 . 专属通道极速下载
VIP下载次数已满VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员
你的VIP会员已过期VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员调用百度地图API时如很根据不同的marker显示不同的信息窗口_百度知道
调用百度地图API时如很根据不同的marker显示不同的信息窗口
如题 我标记了800多个marker 每个marker点击都会触发显示信息窗口的方法 但是每个信息窗口的信息不同 在显示信息窗口的方法中必须有一个语句
searchInfoWindow.open(marker);但是如果在该方法内创建marker对象就会覆盖掉之前的地图跟800多个marker 请问怎么做才能完成这个功能呢 额 说的有点乱 在线等
提问者采纳
你的,无论点击哪个标注;应该是写到循环里面的吧,弹出来的信息窗口都是显示的最后一次循环定义的信息内容: searchInfoWindow,如果我没猜错兄弟我也遇到过你这样的问题.open(marker)
不 我这个是写在触发事件里面的 我循环里面是创建marker 然后每个marker定义一个click触发事件 你最后的解决方案是什么呀
for(i=0;i&循环次数;i++){
var marker=new BMap.Marker(Point对象);//创建标注
var html='你自己的html';
var infoWindow = Window(html);//创建窗口信息
Window=infoW//给当前标注新增一个属性以便保存窗口信息infoWindow
marker.addEventListener(&click&, function(e){//添加标注的点击事件回调
this.openInfoWindow(Window);//点击标注时,打开改标注对应的回调信息
//如果没猜错,你原来在这里的代码应该如下:
//this.openInfoWindow(infoWindow);
//那样就会导致每次标注点击后,弹出的窗口信息都是最后一次循环的infoWindow。
//因为在click的时候只会去找infoWindow这个变量值,而你的click肯定是在所有循环的
//标注都产生完之后,此时infoWindow变量已经被赋值成了最后一次循环的值。
map.addOverlay(marker);//添加标注到地图
额 您有时间吗 具体的我百度hi你吧
提问者评价
非常感谢帮助小菜鸟
其他类似问题
为您推荐:
您可能关注的推广
百度地图api的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁百度地图API JavaScript关键字检索后怎么获得到当前位置的窗口信息内容?_百度知道
百度地图API JavaScript关键字检索后怎么获得到当前位置的窗口信息内容?
//a.com/zhidao/wh%3D450%2C600/sign=/zhidao/wh%3D600%2C800/sign=aaa74e7a8e2d0baa1cd1a84cbfcc3cec3fd2c0b关键字检索后.baidu,我想把当前点击弹出的信息窗口的内容获得到应该怎么弄啊://a
提问者采纳
} }, &quot.getPoi(i);r-/map/jsdemo://&gt: function(results){
&#47.getStatus() == BMAP_STATUS_SUCCESS){
var s = [].htm#i1_4" target="_blank"> i & + results://).join(&);/br/&quotvar options = {
onSearchComplete.title + &quot.innerHTML =&lt. 地址<a href="http.address).com/map/ 判断状态是否正确
if ( i ++){
s.getPoi(i).getElementById(&quot.getCurrentNumPois();
document.push(
for (var i = 0.baidu
提问者评价
其他类似问题
为您推荐:
百度地图api的相关知识
下载知道APP
随时随地咨询
出门在外也不愁百度地图api如何才能显示乡镇边界_百度知道
百度地图api如何才能显示乡镇边界
百度地图api如何才能显示乡镇边界或者哪里有显示乡镇边界的地图,有人知道吗急需鹿泉市的乡镇边界啊
提问者采纳
百度地图在中国是不通用的,一般不能显示的很细微的地方的
提问者评价
哎 确实没有 只能这样啦 谢谢帮忙的朋友们
其他类似问题
为您推荐:
其他1条回答
blog。该电子地图内容包含全国地图及北京中国电子地图清晰大图
浏览地图://beijingmumu,您的出行指南
请你给个能用的链接谢谢
您可能关注的推广
百度地图api的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 百度地图行政区划边界 的文章

 

随机推荐