2016-07-11 6 views
0

私はGoogleマップアクティビティでアプリを作っています。そこにマーカーを配置したいと思います。ホワイトハウスなどの場所にマーカーを設定すると、右隅のマップボタンを押すとG​​oogleマップの情報ページが開きます。私のコード:Googleマップのアクティビティでマーカーを作成するにはどうすればよいですか?

LatLng latLng = new LatLng(38.897677, -77.036531); 
    mMap.addMarker(new MarkerOptions().position(latLng).title("The White House")); 
    mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng)); 

答えて

0

あなたのアプリは場所を検索しますか?ジオコーディングを試してください。ここで

public void onSearch(String searchLocation) { 
    mGoogleMap.clear(); 
    List<Address> addressList = null; 
    Address address = null; 
    LatLng latLng = null; 

    Geocoder geocoder = new Geocoder(mContext); 
    try { 
     addressList = geocoder.getFromLocationName(searchLocation, 1); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    address = addressList.get(0); 
    latLng = new LatLng(address.getLatitude(), address.getLongitude()); 
    mGoogleMap.addMarker(new MarkerOptions().position(latLng).title(searchLocation)); 
    mGoogleMap.animateCamera(CameraUpdateFactory.newLatLng(latLng)); 
} 
+0

上記と同様の実装? –

+0

それは私の私的な文脈です。それをアクティビティの中に入れたり、パラメータとして配置したりする場合は、これに置き換えることができます。私はあなたが好む答えを変えることができます。 – klutch

1

が、私は実際にあなたがクリックリスナーを実装するために望んでいることを認知していますどのようなあなたの質問の答えである:ここに私の超単純化された検索方法です。

はそれを

mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() { 
     @Override 
     public void onInfoWindowClick(Marker marker) { 
      Toast.makeText(StoreMap.this, "Info window clicked", Toast.LENGTH_SHORT).show(); 
    } 

を行うか、あなただけのマーカーをクリックして直接ユーザーに意図している場合は、このいずれかを使用するには、2つの方法があります。

GoogleMap.setOnMarkerClickListener(OnMarkerClickListener)

ちょうど私がmContextを取得するにはどうすればよい more details

関連する問題