2012-04-27 152 views
0

有谁知道如何:定制谷歌地图API

1)让谷歌地图无法放大,能?使它在固定的缩放大小,用户不能改变它?

2)是否有地图API加载我选择的图片并覆盖用户当前位置的小蓝点?

这是我想要做的,我想要有一个世界的自定义图片(我已经在Photoshop或W/E中创建,它会是.jpeg,.png或任何文件格式工作),世界的图像将是'艺术气质',我只希望谷歌地图覆盖你在世界上的小蓝点。例如,如果你在纽约纽约,你会看到世界的图片,上面是纽约的蓝色圆点。

任何帮助,将不胜感激,感谢

回答

0

您应该能够控制地图如下:

地图=(MapView类)findViewById(R.id.mapview);

map.setBuiltInZoomControls(false);

至于覆盖图像,您需要创建一个图像布局文件(使用XML),然后在地图上方膨胀。本教程介绍了充气布局并将它添加到现有视图的基础知识:

http://www.mysamplecode.com/2011/10/android-dynamic-layout-using-xml-add.html

要放置充气布局(图像),您将需要使用的LayoutParams(HTTP://开发商。 android.com/reference/android/widget/LinearLayout.LayoutParams.html)将新视图的位置设置到地图上。

希望有所帮助。

+0

如果我通过地图膨胀图像,蓝色标记仍然能够在我的图片上看到? – slowsword 2012-04-27 22:55:59

+0

好点,我不确定。如果在定位标记之后将视图膨胀为否,地图将覆盖所有内容。我不确定如果您之后放置标记会发生什么情况。您可以随时拿起标记的GeoPoint并将其膨胀到图像上 - 要做到这一点,您需要在地图上使用.getProjection(),它会将经度和纬度转换为像素位置,这可用于定位一个点到图像上。这有点混乱,但令人费解。 – 2012-04-28 07:49:33

0

关于你的第二个问题:这听起来像你实际上想要自己创建的图像替换谷歌地图切片。据我所知,这是不可能的地图API。通过将自己的创作作为覆盖图添加到地图上,您可能会将某些东西拼凑在一起,但这可能无法提供您要查找的结果,特别是如果您希望用户仍能够平移/拖动地图时。

相反,您可能想看看osmdroid(开放街道地图为Android)项目。他们确实支持通过ModularTileProviderArchitecture加载自己的瓷砖。它可能会给你更多的自由和灵活性,但可能会对你所追求的东西过度杀伤。

+0

这是有点矫枉过正,我决定加载我想要的地图图片作为背景(我不希望用户平移/缩放,因为我的目的只有当你看到整个世界时才有意义)和叠加图片,图片看起来像一个标记,基于一个地址位置....现在我有了这个想法,但我不知道如何专门在屏幕上放置图像。有没有任何xy坐标或什么?有人知道吗? – slowsword 2012-04-30 18:20:38

0

我知道OSM很时髦,但OP询问谷歌地图—,问题很容易在Google Maps API文档(https://developers.google.com/maps/documentation/javascript/)中得到解答。

Google Maps API支持多年的自定义地图。我认为您可以编辑他们的第一个“ImageMapType”(https://developers.google.com/maps/documentation/javascript/maptypes#CustomMapTypes)示例来解决您的问题。

对于您的情况,您可以将“maxZoom”和“minZoom”字段设置为要为其创建图稿的任何缩放。使用“mapOptions”字典取消缩放控制。您需要将您的作品剪切成拼贴,并将其“getTileUrl”功能替换为返回平铺图像的功能。