除了谷歌地图iOS中的一部分外,灰显整个地图

问题描述 投票:2回答:2

我使用iOS SDK在iOS中使用Google地图,让用户使用少量标记标记区域,创建多边形。

我想突出显示该区域并使地图的其余部分变灰,如下所示:

这有可能吗?

objective-c cocoa-touch google-maps google-maps-sdk-ios
2个回答
0
投票

您必须在创建灰色区域,清除区域和多边形边框的位置绘制自己的UIImage。之后,使用GMSGroundOverlay将其添加为叠加图块。这将在用户滚动时将其固定到位。

https://developers.google.com/maps/documentation/ios/overlays

这类似于为天气应用绘制雷达覆盖的方式。


-1
投票

我会使用几个步骤来解决这个问题。

1)从将定义多边形的用户收集您的点。

2)将点集合发送到您的服务器。(ajax post)

3)服务器端,动态创建一个灰色图像,其中有一个透明孔,即多边形。

4)在服务器上存储图像,发回回信息,告诉浏览器如何检索它(url,id,等等)。

5)使用javascript + google maps api,应用引用新创建的图像的叠加层。

每个步骤都可能遇到挑战,但如果您专注于不同的步骤,问题就变得易于管理。

1)和2)将涉及使用javascript,捕获“点击”并以地图上的线或某物的形式向用户反馈。完成后,服务器调用可以由用户或您的编程启动。

3)我将python与图像库(skimage等)和映射库(gdal)一起使用。制作图像并不难,但将其与GIS相结合并获得正确的投影等将需要一些摆弄。

4)一旦你走得那么远,应该不成问题。

5)使用zimmryan关于创建地面叠加层的评论可能对此步骤有所帮助。

祝好运!

© www.soinside.com 2019 - 2024. All rights reserved.