2016-05-01 21 views
0

Google Mapを開くためのアンドロイドスタジオでMapActivityを作成しましたが正常に動作しています。しかし、今では、場所が選択されたときに(地図をタップして)位置の座標を取得したいので、どうすればいいですか?あなたのonMapReadyインサイドGoogleマップから位置の座標を取得する方法

Map.java

package com.example.abc.project1; 

import android.support.v4.app.FragmentActivity; 
import android.os.Bundle; 
import android.view.View; 

import com.google.android.gms.maps.CameraUpdateFactory; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.MapView; 
import com.google.android.gms.maps.OnMapReadyCallback; 
import com.google.android.gms.maps.SupportMapFragment; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.MarkerOptions; 
import android.widget.GridLayout; 
import android.widget.LinearLayout; 


public class Map extends FragmentActivity implements OnMapReadyCallback { 

    private GoogleMap mMap; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_map); 
     // Obtain the SupportMapFragment and get notified when the map is ready to be used. 
     SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
       .findFragmentById(R.id.map); 
     mapFragment.getMapAsync(this); 
    } 


    /** 
    * Manipulates the map once available. 
    * This callback is triggered when the map is ready to be used. 
    * This is where we can add markers or lines, add listeners or move the camera. In this case, 
    * we just add a marker near Sydney, Australia. 
    * If Google Play services is not installed on the device, the user will be prompted to install 
    * it inside the SupportMapFragment. This method will only be triggered once the user has 
    * installed Google Play services and returned to the app. 
    */ 
    @Override 
    public void onMapReady(GoogleMap googleMap) { 

     //GPSTracker gps = new GPSTracker(MapsActivity.this); 

     mMap = googleMap; 

     // Add a marker in Sydney and move the camera 
     LatLng sydney = new LatLng(-33.868664, 151.183194); 
     mMap.addMarker(new MarkerOptions().position(sydney).title("Sydney")); 
     mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); 
     mMap.animateCamera(CameraUpdateFactory.zoomTo(17.0f)); 

    } 
} 

答えて

0

あなたがオブジェクトをGoogleマップのためclickListenerを設定します。

mMap.setOnMapClickListener(this); 

次に、アクティビティ内にGoogleMap.OnMapClickListenerインターフェイスを実装する必要があります。クリックした位置のクリックイベントは、次のように表示されます。

@Override 
public void onMapClick(LatLng latLng) { 
    // do what you gotta do 
} 
関連する問題