我有目的地列表,我想在我的谷歌地图(片段)上从列表中选择的目的地位置上做一个标记
因为这个原因:
toTestLstViewActivity类包含我的地图片段和我想在单击列表视图上的项目时调用的方法gotoDest(LatLng destPosition,String name) 我试图使用意图,但没有工作
<ul>
<li>Item 1
<p>More text as part of the list item</p>
</li>
</ul>
<p>Some other text</p>
<ul>
<li>Item 2 contains another list
<ul>
<li>item 2a</li>
<li>item 2b</li>
</ul>
</ul>
import android.location.Location;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.location.LocationRequest;
import com.google.android.gms.maps.CameraUpdate;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import java.util.ArrayList;
public class toTestLstViewActivity extends AppCompatActivity implements OnMapReadyCallback {
GoogleMap mGoogleMap;
ArrayList<LatLng> MarkerPoints;
GoogleApiClient mGoogleApiClient;
Location mLastLocation;
Marker mCurrLocationMarker , mCurrLocationMarkerInit;
LocationRequest mLocationRequest;
String namedest,latdest,lngdest;
LatLng positionDest;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_to_test_lst_view);
MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.fragment3);
mapFragment.getMapAsync(this);
namedest = getIntent().getStringExtra(PoleFragment.Name_EXTRA);
latdest = getIntent().getStringExtra(PoleFragment.Name_EXTRA);
lngdest = getIntent().getStringExtra(PoleFragment.Name_EXTRA);
positionDest= new LatLng( Double.parseDouble(latdest),Double.parseDouble(lngdest));
gotoDest(positionDest,namedest);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mGoogleMap = googleMap;
mGoogleMap.addMarker(new MarkerOptions()
.position(new LatLng(33.795964, 2.849461))
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED))
.title("city A")
.snippet("city A"));
goToLocationZoom(33.795964, 2.849461,11);
}
public void goToLocationZoom(double lat, double lng, float zoom) {
LatLng ll = new LatLng(lat, lng);
CameraUpdate update = CameraUpdateFactory.newLatLngZoom(ll, zoom);
mGoogleMap.moveCamera(update);
}
public void gotoDest(LatLng destPosition,String name) {
mGoogleMap.addMarker(new MarkerOptions()
.position(new LatLng(destPosition.latitude, destPosition.longitude))
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED))
.title(name)
.snippet(name));
goToLocationZoom(destPosition.latitude, destPosition.longitude,14);
}
}
感谢您的帮助!