如何使用 Mapbox 为 Android 自定义标记弹出窗口
How do I customize the Marker popup with Mapbox for Android
我正在使用 Mapbox Android SDK 构建一个 Android 应用程序。我正在向地图添加标记,如下所示。我如何自定义弹出窗口,以便它可以有一个调用导航意图的按钮?
LayerData.LayerFeature feature = layerDataArray.get(i).features.get(j);
Marker m = new Marker(map, feature.name, feature.address1
+ ", " + feature.address2 + ", " + feature.city + ", " + feature.state,
new LatLng(feature.lat, feature.lng));
m.setIcon(new Icon(this, Icon.Size.MEDIUM,
feature.marker_symbol, feature.marker_color));
map.addMarker(m);
locationItemArray.add(new LocationItem(layerDataArray.get(i).features.get(j).title, layerDataArray.get(i).features.get(j).description,
layerDataArray.get(i).features.get(j).lat, layerDataArray.get(i).features.get(j).lng));
mapView.setOnMarkerClickListener(new MapView.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(final Marker marker) {
materialDialog = new Dialog(getActivity(),android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar) {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
};
materialDialog.show();
materialDialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
return true;
}
});
我正在使用 Mapbox Android SDK 构建一个 Android 应用程序。我正在向地图添加标记,如下所示。我如何自定义弹出窗口,以便它可以有一个调用导航意图的按钮?
LayerData.LayerFeature feature = layerDataArray.get(i).features.get(j);
Marker m = new Marker(map, feature.name, feature.address1
+ ", " + feature.address2 + ", " + feature.city + ", " + feature.state,
new LatLng(feature.lat, feature.lng));
m.setIcon(new Icon(this, Icon.Size.MEDIUM,
feature.marker_symbol, feature.marker_color));
map.addMarker(m);
locationItemArray.add(new LocationItem(layerDataArray.get(i).features.get(j).title, layerDataArray.get(i).features.get(j).description,
layerDataArray.get(i).features.get(j).lat, layerDataArray.get(i).features.get(j).lng));
mapView.setOnMarkerClickListener(new MapView.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(final Marker marker) {
materialDialog = new Dialog(getActivity(),android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar) {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
};
materialDialog.show();
materialDialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
return true;
}
});