package com.example.googlemaptest;
 
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
 
import android.content.Intent;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
 
public class MainActivity extends FragmentActivity implements LocationListener{
 
private GoogleMap mmap;
private LocationManager locationManager;
private String provider;
LatLng loc = new LatLng(35.179434, 128.555509);
 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
 
GooglePlayServicesUtil.isGooglePlayServicesAvailable(MainActivity.this);
        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        Criteria criteria = new Criteria();
        provider = locationManager.getBestProvider(criteria, true);
     
      if(provider==null){
      new AlertDialog.Builder(MainActivity.this)
        .setTitle("위치서비스 동의")
        .setNeutralButton("이동" ,new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
startActivityForResult(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS), 0);
}
}).setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
finish();
}
})
        .show();
    }else{   
locationManager.requestLocationUpdates(provider, 1, 1, MainActivity.this);
     setUpMapIfNeeded();
    }
Button b = (Button)findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Intent intent = new Intent(MainActivity.this, WIFIScanner.class);
startActivity(intent);
}
});
}
 
private void setUpMapIfNeeded() {
  if (mmap == null) {
  mmap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map )).getMap();
  mmap.addMarker(new MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.duck)).position(loc));
  if (mmap != null) {
  setUpMap();
  }
  }
  }
 
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 0:
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
       Criteria criteria = new Criteria();
       provider = locationManager.getBestProvider(criteria, true);
       if(provider==null){
finish();
}else{ 
locationManager.requestLocationUpdates(provider, 1L, 2F, MainActivity.this);
        setUpMapIfNeeded();
}
break;
}
}
   private void setUpMap() {
       mmap.setMyLocationEnabled(true);
       mmap.getMyLocation();
   }
      boolean locationTag=true;
      @Override
      public void onLocationChanged(Location location) {
       if(locationTag){
       Log.d("myLog"  , "onLocationChanged: !!"  + "onLocationChanged!!");
           double lat =  location.getLatitude();
           double lng = location.getLongitude();
      Toast.makeText(MainActivity.this, "위도  : " + lat +  " 경도: "  + lng ,  Toast.LENGTH_SHORT).show();
           locationTag=false;
       }
 }
}
	글자수 제한떄문에 코드 일부분을 빼고 적었습니다
	위코드에서 마크이벤트를 넣을려구하는데 밑에 코드를 어느 부분에 넣어야하나요?
	onCreate나 다른곳에 넣고 돌려봐도 구동되지 않았습니다
	아니면 코드가 잘 못된건가요?
	mmap.setOnMarkerClickListener(new OnMarkerClickListener(){
	@override
	public boolean onMarkerClick(Marker arg0){
	   Button b = (Button)findViewById(R.id.button1);
	         b.setOnClickListener(new OnClickListener(){
	             publick void onClick(View v){
	                     Intent intent = new Intent(MainActivity.this, WIFIScanner.class);
	                     startActivity(intent);
	                     }
	             });
	                     ruturn false;
	        }
	    });