有没有人知道类似于Wikimapia的地图系统可以商业化使用。最重要的是,我需要能够创建不能被其他人修改的区域/地区,并确定地址是否在定义的区域内。
我见过Augur Maps,它似乎也有同样的功能,但在与他们交谈时,他们目前没有提供API。
是大型API之一(Google、Yahoo、Bing等)能做到这一点吗?我在谷歌上偶然发现了一个叫做地理围栏的东西。这是否可以用来定义复杂的边界和验证地图中的地址?其他提供商也有类似的功能吗?任何示例/教程都将不胜感激。
蒂亚,布莱恩·恩德勒
发布于 2015-06-17 07:25:22
有几种方法可以设置一个系统,让一组人能够添加一个调整的“边界”。
这取决于有多少数据,但我认为你可能应该用叠加在底图上的折线来解决这个问题。如果您有非常多的边界,或者边界多边形非常详细,具有非常多的角点,则使用此方法可能会遇到问题。如果你将太多的地图数据呈现为矢量覆盖,web浏览器可能会开始变得有点超载,但使用这种方法可以走很长一段路。
有一个叫做uMap的很好的工具,它可以让你用一个非常简单的点击方式创建一个带有折线的地图,然后把它打开给一群人进行编辑。
这应该会让你对可编辑折线的可能性有一些了解,但我不认为它会给你提供你想要的naunced权限模型,或者“如果地址在定义的区域内就识别”的功能。但它是开源的,所以可以进行定制或...
使用web地图API自己从头开始开发类似的东西,您正在询问有关API的问题,所以我认为这不是一个疯狂的建议。我个人的建议是从leafletJS和OpenStreetMap开始。Very basic example of drawing a polyline。
OpenStreetMap通常不会对覆盖在其上的数据附加任何条件,除非您通过跟踪背景地图来复制(‘派生’)大量地理数据,在这种情况下,它必须是ODbL许可的。你的情况可能不是这样。相比之下,谷歌在其API上有一些相当激进的使用条款,允许他们使用您的数据。大多数web开发人员都没有意识到这一点。而且谷歌不允许对他们的地图进行任何复制(这实际上是与OpenStreetMap最大的“开放”区别)
在这两种情况下,当涉及到叠加折线时,您拥有要叠加的数据,并将其存储在您自己的服务器上,并且允许商业使用底图/API。
当涉及到自己构建它时,“识别一个地址是否在定义的区域内”功能变得有点棘手,但如果您自己构建它,它也是一种可以在一个很好的UX中呈现的功能。否则,像ArcGIS online这样的工具可能会允许您的用户进行这种计算,但也会让您的用户感到困惑,让他们进行各种其他计算。因此,要自己构建它,请看一下从地址到纬度/经度的“地理编码”API。然后,也许可以看看turfjs来计算(客户端)一个点位于哪个折线区域内。这只是一种可能的方法
希望这能有所帮助
发布于 2011-06-28 21:44:50
听起来你可以使用OpenStreetMaps数据,为你需要的区域/地区创建你自己的图层。
https://stackoverflow.com/questions/6507252
复制相似问题