我正在尝试在Google Maps API上创建弹出式气泡。这就是我想要做的。假设我从A点开车到B点,当我在从A点到B点的路上时,我想弹出气泡来显示我在附近特定区域的热门地点。是否有任何特殊术语用于该功能?感谢
答案 0 :(得分:0)
目前没有功能或视图,但您可以轻松创建自己的自定义功能。例如,您可以创建一个具有自定义背景的TextView
,然后将其放在Google地图片段的顶部。
要将视图放在片段顶部,您必须将片段放入布局中,例如RelativeLayout
,如下所示:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.akashbhave.locomoto.MapsDemo">
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.akashbhave.locomoto.MapsDemo" />
<TextView
android:layout_width="100dp"
android:layout_height="60dp"
android:id="@+id/infoView"
android:textSize="14sp"
android:textColor="#000000"
android:background="@drawable/infoViewLayout"
android:gravity="center_vertical|center_horizontal"
android:paddingRight="7dp"
android:paddingLeft="7dp"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"/>
</RelativeLayout>
然后,您可以创建一个具有形状的XML文件,并将其设置为您的背景,就像我上面所做的那样。
每当用户来到一个受欢迎的地方(您可以在Java代码中检查它)时,只需将infoView
设置为可见,或者如果用户离开则将其设置为不可见。一个例子是:
// Check distance to locations here (possible through loc1.distanceTo(loc2))
if(distance < targetDistance) {
infoView.setVisibility(View.VISIBLE);
else {
infoView.setVisibility(View.INVISIBLE);
}
如果您只想显示快速弹出窗口,可以使用Toast
,如下所示:
Toast.makeText(MapsDemo.this, "You are near" + locationName, Toast.LENGTH_LONG).show();
就是这样!希望它有所帮助!