Ich habe eine Anwendung, die eine zwei verschiedene Layouts in einer Recyclerview benötigt. Das habe ich schon gemacht. Das erste Layout ist für map.Ich verwende mapview dafür. Und die zweite ist die Liste der Orte.getMap() ist veraltet
Mein Problem ist die getMap();
ist veraltet. Gibt es eine Option, die ich verwenden könnte?
Sie sagten, wenn ich in einem Fragment haben möchte, sollte ich mapview verwenden.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="160dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/mapHolder"
android:layout_width="match_parent"
android:layout_height="160dp"
>
<com.google.android.gms.maps.MapView
android:id="@+id/mapImageView"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:liteMode="false"
map:mapType="normal"
map:cameraZoom="15" />
</RelativeLayout>
</LinearLayout>
if (position == 0) {
MyGoogleMap myGoogleMap = (MyGoogleMap) holder;
GoogleMap googleMap = myGoogleMap.map.getMap();
if (googleMap != null) {
for (int i = 0; i < mModelNearbies.size(); i++) {
MarkerOptions markerOptions = new MarkerOptions();
LatLng latLng = new LatLng(Double.parseDouble(mModelNearbies.get(i).getShop_lat()), Double.parseDouble(mModelNearbies.get(i).getShop_long()));
markerOptions.position(latLng);
markerOptions.title(mModelNearbies.get(i).getShop_name() + " : " + mModelNearbies.get(i).getShop_address());
googleMap.addMarker(markerOptions);
}
}
}
Und für den OnMapReadyCallback.
class MyGoogleMap extends MyNearbyHolder implements OnMapReadyCallback {
GoogleMap gMap;
MapView map;
public MyGoogleMap(View itemView) {
super(itemView);
map = (MapView) itemView.findViewById(R.id.mapImageView);
if (map != null) {
map.onCreate(null);
map.onResume();
map.getMapAsync(this);
}
}
@Override
public void onMapReady(GoogleMap googleMap) {
MapsInitializer.initialize(mContext);
this.gMap = googleMap;
if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
this.gMap.setMyLocationEnabled(true);
LatLng latLng = new LatLng(14.5500, 121.0300);
this.gMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
this.gMap.animateCamera(CameraUpdateFactory.zoomTo(12));
}
}
}
ich zu Ihnen zurück, nachdem ich es versucht. Ich habe ein Problem mit meiner gnymotion google map. Danke –
hast du es überprüft ?? @CharlesGalvez –
Entschuldigung. Ich überprüfe es. –