如何在谷歌地图上显示标记,并在主要相同活动中从响应中经度



.现在我在两个活动中首先从服务器获取响应,然后将 lat , longi 传递给另一个活动,其中 onmapready((; 函数在谷歌地图上显示标记。但我想在一个活动中这样做我该怎么做?

enter code here public void onMapReady(GoogleMap map) {
    mMap = map;
   refresh(mMap);
}
private void addMarkersToMap() {
    // Uses a colored icon.
    LatLng sydney = new LatLng(latt, langg);
    mMap.addMarker(new MarkerOptions().position(sydney)
            .title("")
            .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_pin)));
   // mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney,1));
    CameraPosition cameraPosition = new CameraPosition.Builder()
            .target(sydney)
            .zoom(17).build();
    mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
private void pointToPosition(LatLng position) {
    //Build camera position
    CameraPosition cameraPosition = new CameraPosition.Builder()
            .target(position)
            .zoom(17).build();
    //Zoom in and animate the camera.
    mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}

仅在第一个活动的异步任务的 OnPostExecute 中尝试此操作。然后,您不需要其他活动。

    @Override
    protected void onPostExecute(String result)
    {
        super.onPostExecute(result);
        // other code for get lat-long
        loadMap();
    }

private void loadMap()
{   
    LatLng sydney = new LatLng(latt, langg);
    mMap.addMarker(new MarkerOptions().position(sydney).title("")
        .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_pin)));
    CameraPosition cameraPosition = new CameraPosition.Builder()
        .target(sydney)
        .zoom(17).build();                     
    mMap.animateCamera(CameraUpdateFactory
    .newCameraPosition(cameraPosition));
}

您可以使用以下方法获取地图

SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                                 .findFragmentById(R.id.map);
map = mapFragment.getMapAsync(NearestActivity.this);

然后,在异步任务的 OnPostExecute 中,使用 map.addMarker(options) 填充地图标记。

最新更新