如何在地图上添加填充?此处地图Android SDK

时间:2018-08-20 19:00:34

标签: android padding here-api

在Google地图中,有一种方法:

mMap.setPadding(padding.getLeft(), padding.getTop(), padding.getRight(), padding.getBottom());

如何在HERE-Maps中设置边界?

UPD:摄像机的边界。我想在地图上绘制一条路线,然后推迟相机,使路线适合屏幕底部。在Google地图上,设置填充并相对于新中心(包括填充)对齐地图。如何在Here-Maps中实现呢?对不起,我的英语

2 个答案:

答案 0 :(得分:0)

如果您想向Google地图的视图中添加填充,请不要使用Google Map sdk的setPadding方法,因为它具有不同的用途,请参考此链接以获取更多详细信息https://developers.google.com/maps/documentation/android-sdk/map

为Google地图视图添加填充的一种方法是通过如下设置其父视图的填充

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="8dp">
    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        android:name="com.google.android.gms.maps.MapFragment"
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</FrameLayout>

我的Google地图片段的父视图是框架布局,因此我给它填充了8dp的填充,这将为地图添加视图填充

答案 1 :(得分:0)

您可能正在寻找setViewRect()方法。来自documentation

  

设置将在其中绘制地图的视图矩形。

也就是说,如果您不想在运行时动态更改布局,那么在定义布局时设置填充也是一个合理的建议。您可以查看here-android-sdk-example,其中的内容可能与您查找的内容不完全相同,但可以将其作为选择。

<LinearLayout
            android:id="@+id/settingsPanelLayout"
            android:layout_width="380dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:background="@color/dim_foreground_disabled_material_light"
            android:orientation="vertical"
            android:paddingLeft="15dp"
            android:paddingRight="15dp"
            android:visibility="gone">

...
</LinearLayout>

然后您可以match_parentMapFragmentin this example的身份进行设置:

<fragment
    class="com.here.android.mpa.mapping.MapFragment"
    android:id="@+id/mapfragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>