OpenLayers 在地图上画线,获取点坐标(以天地图为例)

应用场景:

        最近在开发过程中,有个需求,需要在天地图中画线,结束后获取对应的坐标集合,查阅 OpenLayers API 和网上的相关资料后得以实现,特此记录。

        因为直线间的点是无数个,我们不可能去获取这线上的所有点,而应用两点一线的原理,我们只需要知道一条直线的起点和终点就可以定位到当前直线,而在天地图中,手动画线的一种方式就是通过鼠标在地图上地点,然后地图调用相应的方法,将当前的点与先前的一个点进行连接展示,所以我们只要获取鼠标每次点击时产生的点坐标集合,就相当于是定位到了当前的直线,而且取到的点坐标就是天地图上需要的WGS84标准的经纬度坐标,不需要再次进行转换,解决过程有想过通过单独监听地图点击事件来获取坐标,但结果是,单独监听地图点击事件时,获取的是屏幕坐标,需要转换一下,与画线进行组合监听时候,地图不响应当前的地图监听事件,经过后续的查找测试,最终找到了合适的方法。

实现过程:

        感谢 点击打开链接 给予的思路,然后查询API,修改代码,通过观察控制台打印返回内容得以获取对应点坐标集合。

OpenLayers 在地图上画线,获取点坐标(以天地图为例)_第1张图片

鼠标在地图上选中三个点

OpenLayers 在地图上画线,获取点坐标(以天地图为例)_第2张图片

控制台输出的返回对象内容,红框为对应的点坐标

实现代码:

        代码基于福建天地图demo在线开发调试,所以请在福建天地图demo下运行或更改引入的资源文件。



	
		
		天地图画线取点demo
		
		
	
	
		

运行结果:

OpenLayers 在地图上画线,获取点坐标(以天地图为例)_第3张图片

你可能感兴趣的:(其他开发记录,天地图,Openlayers)