实现离线地图行政区域划分
本文主要介绍如何从baiduMap上将行政区域边界经纬度下载下来,制作成一个.geojson文件,以利用openlayer3加载在离线地图中。
最终目的的效果图(永州市下属11个县区行政区域划分):
第一步:js实现文件写出,函数名为writeText(filename,content)。
第二步:加载百度地图在线api,实现百度地图界面显示。
function initialize() { var myLatLng = new google.maps.LatLng(37,104);//设置地图默认中心 var myOptions = { zoom : 4, //地图默认图层center : myLatLng, mapTypeId : google.maps.MapTypeId.ROADMAP //地图类型,raodMap为街区图}; map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);//地图加载在id为map_canvas的div中 }
第三步:获取行政区域经纬度。
var bdary = new BMap.Boundary(); var name = document.getElementById("districtName").value;//在id为districtName的input中输入想要获取的行政区域,例如:永州 //定义多边形作为边界bdary.get(name, function(rs) { points = rs; //获取行政区域 var rslength = rs.boundaries.length; //获取有多少个同名的行政区域(通常为1)var content = '{"type":"FeatureCollection","features":[{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[';//.geojson文件格式for (i = 0; i < rslength; i++) { var triangleCoords = []; var temp = rs.boundaries[i]; //获取一个行政区var latLngs = temp.split(";"); for (j = 1; j < latLngs.length - 1; j++) { var postion = latLngs[j].indexOf(","); var lat = parseFloat(latLngs[j].substr(0, postion));//经度 var lng = parseFloat(latLngs[j].substr(postion + 1));//纬度 //加入经纬度 triangleCoords.push(new google.maps.LatLng(lng, lat));content = content + "["+lat+","+lng+"],";} content = content.subtring(0,content.length-1);//去掉最后一个不需要的逗号content = content + "]]}}]}";//形成一个完整的.geojson格式writeText("d://"+document.getElementById("districtName2").value+".geojson",content);//将文件写出}
实现离线地图行政区域划分相关推荐
- 前端加载高德离线地图的解决方案
核心是需要下载地图瓦片放在本地,脱离在线地图服务,实现离线加载地图. 使用BIGMap工具下载地图离线瓦片到本地 下载地址:http://www.bigemap.com/reader/download ...
- 百度地图3.0离线地图教程和echarts的结合使用
百度地图版本2.0和3.0区别对比 http://lbsyun.baidu.com/index.php?title=jspopular3.0/guide/usage 1.找到百度地图的主文件 1.1 ...
- 转:谷歌离线地图基础
一.需要文件 gapi3文件夹:存放接口等 tilemap文件夹:存放图片 gapi.js文件 maptool.js文件 二.html配置 <script type="text/jav ...
- Android课程设计:基于离线地图服务器的Android地图应用
Android开发课程设计:基于离线地图服务器的Android地图应用 此项目的灵感来源于伯克利cs61b的Project3: cs61b的官网地址:Project 3: Bear Maps 我的实验 ...
- ECharts自定义地图——行政划分“乡镇级别”地图
百度地图API能够直接划分区级别的行政划分: 如果是在线访问的系统可以参考链接https://blog.csdn.net/myfmyfmyfmyf/article/details/69382618#c ...
- Openlayers离线地图二次开发
(OpenLayers DEMO)点击下载 本案例介绍如何在离线(单机.或局域网无Internet)状态下发布离线地图,且结合OpenLayers做基于地图的二次开发. 一. 离线地图数据下载 离 ...
- OpenLayers开发离线地图源代码(OpenLayers开发谷歌高德百度地图)
(OpenLayers DEMO)点击下载 本案例介绍如何在离线(单机.或局域网无Internet)状态下发布离线地图,且结合OpenLayers做基于地图的二次开发. 一. 离线地图数据下载 离 ...
- Python爬虫案例-获取最新的中国行政区域划分
源网页:中国统计局标准 http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2016/ 打开网页后可以分析出行政区域划分共分为5层 根据传入参数,生成网页 ...
- 地图区域划分转换成数学模型解决问题
计算机与数学是息息相关的,计算机模型中无时无刻不体现数学的理念.例如余弦定理用来求两个文案的相似度.今天我这里解决的问题也与数学有关.实际需求是这样的,在项目当中,需要人工在百度地图中划分配送区域,要 ...
- GMap.net 离线地图问题
转载自百度知道:请问一下,使用Gmap.net 怎么导入离线地图我使用[http://www.cnblogs.com/enjoyeclipse/archive/2013/01/29/2882254.h ...
最新文章
- oracle12c spa,Oracle12c功能加强 新特性之管理功能的加强
- python 点滴记录1:python没有Tkinter模块
- python反转字符串的六种方法
- 剑指offer——9.用两个栈实现队列
- Spark学习之Spark Streaming(9)
- 为什么rand()+ rand()产生负数?
- AOJ-759 会绕圈的数
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_01 File类_5_File类获取功能的方法...
- python3.5 3.6_centos7安装较高版本python3.5/3.6
- 《移动应用开发技术——Android》课程报告-个人记账系统
- 机器学习之ROC曲线绘制
- 微信小程序 - 手机拍摄图片或选择相册图片上传到服务器(带图片预览与删除功能)
- tortoisegit 小乌龟的使用
- python随机生成20个数字_你如何在Python中生成20个随机数字
- bigworld源码分析(1)—— 研究bigworld的意义和目标
- 域名CNAME记录不能同时适配根域名和www的解决方法
- sde for Oracle 与 shp 、oralce spatial 的数据读写
- Java-PTA 无聊的小明来数1
- 网络安全--2.4--路由篇--01--静态路由
- 《寄居者》 - 严歌苓