<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>获取地区轮廓线</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script>
<script type="text/javascript" src="CityData.js"></script>
<style type="text/css">
body {
font-size: 13px;
margin: 10px
}
#container {
width: 800px;
height: 500px;
border: 1px solid gray
}
</style>
</head>
<body>
<div id="container"></div>
<div id="event_descr"></div>
<br />输入省、直辖市或县名称:
<input type="text" id="districtName" style="width:80px" value="桂林市">
<input type="button" onclick="getBoundary()" value="获取轮廓线">
<script type="text/javascript">
var fso = new ActiveXObject("Scripting.FileSystemObject");
var folderName = "C:\\china\\";
if (!fso.FolderExists(folderName)) fso.CreateFolder(folderName);
var map = new BMap.Map("container");
map.centerAndZoom(new BMap.Point(116.403765, 39.914850), 5);
map.addControl(new BMap.NavigationControl({
type: BMAP_NAVIGATION_CONTROL_SMALL
}));
map.enableScrollWheelZoom();
//直辖市
if (cityData.municipalities && cityData.municipalities.length > 0) {
for (var i = 0, n = cityData.municipalities.length; i < n; i++) {
var mu = cityData.municipalities[i];
getBoundary(mu.n, "");
}
}
// 普通省
for (var i = 0, n = cityData.provinces.length; i < n; i++) {
var pv = cityData.provinces[i];
var newFolderName = folderName + pv.n
if (!fso.FolderExists(newFolderName)) newFolderName = fso.CreateFolder(folderName + pv.n);
getBoundary(pv.n, "");
for (var j = 0, m = pv.cities.length; j < m; j++) {
getBoundary(pv.cities[j].n, pv.n);
}
}
// 其他地区
if (cityData.other && cityData.other.length > 0) {
for (var i = 0, n = cityData.other.length; i < n; i++) {
var oth = cityData.other[i];
getBoundary(oth.n, "");
}
}
function getBoundary(name, pvName) {
var bdary = new BMap.Boundary();
bdary.get(name, function(rs) { //获取行政区域
// map.clearOverlays(); //清除地图覆盖物
// var count = rs.boundaries.length; //行政区域的点有多少个
// for (var i = 0; i < count; i++) {
// var ply = new BMap.Polygon(rs.boundaries[i], {
// strokeWeight: 2,
// strokeColor: "#ff0000"
// }); //建立多边形覆盖物
// map.addOverlay(ply); //添加覆盖物
// map.setViewport(ply.getPath()); //调整视野
// }
var fileName = "";
var newFileObject = null;
if (pvName == "") newFileObject = fso.CreateTextFile(folderName + name + ".txt", true)
else newFileObject = fso.CreateTextFile(folderName + pvName + "\\" + name + ".txt", true);
newFileObject.write(rs.boundaries[0]);
newFileObject.Close();
// eventsTable.innerHTML = rs.boundaries[0].length +':'+ rs.boundaries[0];
});
}
</script>
</body>
</html>
分享到:
相关推荐
可以批量获取百度地图的坐标,由于是从项目中抽取出来的,所以数据的获取和写回要自己编写,页面的代码是完整的,使用前请将页面的城市改成你要抓取的城市。写得不好,请多指教。
GPS坐标转换为百度地图坐标(JS),包括在线和离线算法2种方式,在线调用百度api进行坐标转换,离线使用算法进行坐标转换
百度echart全国城市坐标json var geoCityCountyPos = { "徐水县":[115.660615,39.025657], "六安市":[116.3123,31.8329], "安庆市":[116.7517,30.5255], "滁州市":[118.1909,32.536], "宣城市":[118.8062,30.6244], ...
使用c#编写的GPS坐标转换百度地图坐标,稍作修改可以批量转换
高德、百度坐标系转天地图坐标系,亲测实际有效,误差很小。
百度地图坐标的批量拾取工具。可以用画点、线、面的方式批量获取坐标,默认生成JSON格式如下: {'x':105.986013,'y':38.324103},{'x':106.032006,'y':38.439957},{'x':106.068801,'y':38.575486},{'x':106.14239,'y'...
因为高德百度地图各自有国标转换而来标准体系不一样,百度地图坐标转换成高德地图坐标。
echart全国城市坐标,json数据:"上海":[121.48,31.22],"嘉定":[121.24,31.4]
ArcGIS API For JavaScript 4.x 获取地图经纬度坐标(附完整代码,即开即用)
js中使用百度地图,能够搜索地区,点击某个地区获取到对应的坐标值。
在做GPS开发的时候,可以根据经伟度坐标获取地址,通过百度地图API
调用百度地图API,实现自定义划分区域,圆型,长方形,不规则图形,并能够计算区域内的坐标点数,并使用了点聚合方式渲染大量的坐标点
JS调用Google地图 js获得Google地图坐标 左键单机获得google地图坐标以及中心坐标 缩放度
输入需要获取边界坐标的城市,就可以看到该地图的边界坐标
百度、高德地图坐标偏移转换。所有电子地图必须对位置做偏移处理,这导致了从底层接口得到的经纬度坐标展示在地图上会有偏移。这种偏移不是线性的,不能简单地通过加减某个值来校正,并且不同的地图提供商采用的算法...
利用python进行百度地图坐标转WGS地图坐标,转换速度快。
通过api获取到百度地图经纬度,再转换为腾讯地图经纬,用于夸地图规划路线,获取起点到终点距离等。。。
基于百度地图最新版的地图选点demo,可以获取中心点的经纬度坐标(坐标在控制台打印),可以根据此扩展POI数据; 需要把manifest中的百度key对应成自己的,注意包名和签名
百度地图坐标拾取器增强版,可单次和多次定位,瓦片地图、卫星地图、平面地图切换使用 网上缺乏百度地图坐标拾取器,百度官方的地图坐标
主要实现百度、高德、谷歌、火星、wgs84(2000)地图坐标相互转换纠偏的JS实现