高德地图API使用心得(一)判断点是否在折线上

最近使用高德地图JavaScript API开发地图应用,提炼了不少心得,故写点博文,做个系列总结一下,希望能帮助到LBS开发同胞们。

开发之初便遇见一个问题,项目中需要在城市区县范围内能够自由划分新的区域,但是高德地图并未提供自定义区域的实现方法,所以只能借助API自造轮子。

经过讨论得出一个实现方法,初始加载城市区县区域后,自定义折线对象,然后在区域内通过鼠标点击画出折线,再将该折线对象和已有区域边界的路径值一起保存进数据库,便能够构成划分后的两个新区域了。关于自定义区域划分的详细说明请见待写

研究出自定义区域划分的方法后,便遇见了第一个难题:

  • 画起点和终点时必须在原有区域线上,否则无法形成新的封闭空间。故需要判断鼠标点击的点是否在原有折线上,在就让其成为起点或终点,不在则让其重新点击。
  • 但是用户点击时无法保证完全点击在原有折线上,故需要允许一定的误差,在误差内则判断为点在折线上,误差外让其重新点击。
  • 判断为在误差内后,鼠标点终究不在折线上,此时需要在原折线上生成一个新的点(离该鼠标点最近的点)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值