如何在Android Google地图上显示地图图例?

时间:2011-04-25 19:35:20

标签: android google-maps

Google地图的网络版允许开发人员显示指示地图比例的地图图例。

有没有办法使用Android API做到这一点?

其他信息:

  • 如果你去谷歌地图,我想显示一个图形“这个距离等于X米”的显示效果。
  • 应该可以使用:getProjection(),但我只是希望有一种方法可以启用图例。
  • 如果您打开Goog​​le地图应用并选择“实验室”,则可以启用“缩放栏”,这就是我想要的。

2 个答案:

答案 0 :(得分:3)

看看他们是如何为OpenStreetMap非常相似的Osmdroid做的

ScaleBarOverlay

它应该提供一些想法。它可能比您需要的功能更全面。

答案 1 :(得分:1)

使用文本视图创建布局,将其加载到onCreate中,然后使用setText()将地图比例写入其中。示例布局如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent" android:id="@+id/root">
        <com.google.android.maps.MapView
                 android:layout_width="fill_parent"
                 android:layout_height="fill_parent"
                 android:enabled="true"
                                 android:clickable="true"
                                 android:id="@+id/map"
                 android:apiKey="<YOUR KEY>"
                 android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentL
eft="true" android:layout_alignParentBottom="true"/>
                <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_marginLeft="10sp" android:layout_marginRight="10sp" android:layout_marginTop="10sp" android:id="@+id/scale" android:gravity="center_horizontal"></TextView>
</RelativeLayout>

在您的活动中,您可以

((TextView)findViewById(R.id.scale)).setText("<map scale>");

它应该出现在地图的顶部。您也可以根据需要设置文本视图的样式。