百度地图根据所在地区划分区域、根据经纬度节点绘制区域

一、根据所在地区划分区域

getcity:所在地区名称
color:区域颜色

// 根据所在地区名称划分区域
getBoundary(getcity, color) {
	var that = this;
	var bdary = new BMapGL.Boundary();
	bdary.get(getcity, function (rs) {
	//获取行政区域
	// map.clearOverlays() //清除地图覆盖物
	var pointArray = []
	var ply = new BMapGL.Polygon(rs.boundaries, {
		strokeWeight: 2,//边框线条粗细
		strokeColor: 'red',//边框颜色
		fillOpacity: 0.5,//区域颜色透明度
		fillColor: color,//区域颜色
	})
	map.addOverlay(ply) //添加覆盖物
	pointArray = pointArray.concat(ply.getPath());

二、根据经纬度节点绘制区域

arrNeed:标签名
color:区域颜色
arrNeed:经纬度坐标

//根据经纬度节点绘制区域
getarea(nameLable, color, arrNeed) {
	let that = this;
	// var arrNeed = JSON.parse(that.gridNode) //将经纬度转换为JSON格式
	let needPoint = [];
	arrNeed.forEach(item => {
		needPoint.push(new BMapGL.Point(item.lng, item.lat))
	})
	polygon = new BMapGL.Polygon(needPoint, {
		strokeColor: "red",//边框颜色
		fillColor: color,//区域颜色
		strokeWeight: 3,//边框线条粗细
		strokeOpacity: 0.8//区域颜色透明度
	});
	polygon.name = nameLable
	map.addOverlay(polygon);
}
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要根据经纬度获取所在区域,可以使用反向地理编码技术。其中,Google Maps API和百度地图API都提供了反向地理编码服务,可以通过调用它们的接口来实现。一般的做法是,将经纬度作为参数传入接口,接口返回一个包含地址信息的JSON数据,然后从JSON数据中提取出所在区域信息。下面是Java代码示例: ```java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; public class ReverseGeocoding { public static void main(String[] args) throws IOException { double lat = 39.983424; double lng = 116.322987; String url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=" + URLEncoder.encode(lat + "," + lng, "UTF-8") + "&sensor=false"; HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); conn.setRequestMethod("GET"); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; StringBuilder result = new StringBuilder(); while ((line = reader.readLine()) != null) { result.append(line); } reader.close(); String json = result.toString(); String address = json.substring(json.indexOf("\"formatted_address\" : \"") + 23); address = address.substring(0, address.indexOf("\"")); System.out.println("所在区域:" + address); } } ``` 这里以Google Maps API为例,首先构造反向地理编码的URL,然后打开连接并读取返回的JSON数据。其中,lat和lng是经纬度参数,需要根据实际情况进行设置。最后从JSON数据中提取出所在区域信息,即可实现根据经纬度获取所在区域的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值