2013-03-18 4 views
-3

Я пытаюсь реализовать addProximityAlert, когда информационное окно щелкнулJava Ошибки в Android App

googleMap.setOnInfoWindowClickListener(
      new OnInfoWindowClickListener(){ 
       public void onInfoWindowClick(Marker marker) { 

    public void addProximityAlert(double latitude, double longitude){ 


      LatLng clickedMarkerLatLng = marker.getPosition(); 
        double lat = clickedMarkerLatLng.latitude; 
        double long1 = clickedMarkerLatLng.longitude; 

       Log.e("hello", "Output=" + lat + long1); 

        LocationManager lm; 
      // double lat=123,long1=34; //Defining Latitude & Longitude 
        float radius=30;       //Defining Radius 
      Intent intent = new Intent(PROX_ALERT_INTENT); 
      PendingIntent proximityIntent = PendingIntent.getBroadcast(this, 0, intent, 0); 
      locationManager.addProximityAlert(
       lat, // the latitude of the central point of the alert region 
       long1, // the longitude of the central point of the alert region 
       POINT_RADIUS, // the radius of the central point of the alert region, in meters 
       PROX_ALERT_EXPIRATION, // time for this proximity alert, in milliseconds, or -1 to indicate no expiration 
       proximityIntent // will be used to generate an Intent to fire when entry to or exit from the alert region is detected 
      ); 
      IntentFilter filter = new IntentFilter(PROX_ALERT_INTENT); 
      registerReceiver(new ProximityIntentReceiver(), filter); 
     } 
    } 

}); 

Это «Java ошибки», и я не уверен относительно того, как их исправить. Очевидно, что в строке public void addProximityAlert(double latitude, double longitude){ скобки и запятые не нужны, несмотря на их необходимость. Может ли кто-нибудь помочь?

EDIT: Хорошо, поэтому я выполнил некоторые из приведенных ниже ответов, но у меня все еще возникают проблемы. Метод getBroadcast не определен для типа InfoWindowClickListener. Какие-либо предложения?

+0

Вы определите метод внутри метода, который является неправильным –

ответ

0

У вас есть две слившиеся объявления метода:

public void onInfoWindowClick(Marker marker) { 

public void addProximityAlert(double latitude, double longitude){ 

Не уверен, что ваши намерения, но вы должны закрыть декларацию onInfoWindowClick(Marker marker) перед началом декларации addProximityAlert

+0

намерение состоит в том, чтобы вызвать 'метод addProximityAlert' когда й e информационное окно. Мне также нужно передать переменные долготы и широты в метод 'addProximityAlert' –

0

Попробуйте это следующим образом:

googleMap.setOnInfoWindowClickListener(
       new OnInfoWindowClickListener(){ 
        public void onInfoWindowClick(Marker marker) { 

         addProximityAlert(latitude,longitude); 
     } 

    }); 

public void addProximityAlert(double latitude, double longitude){ 


     LatLng clickedMarkerLatLng = marker.getPosition(); 
       double lat = clickedMarkerLatLng.latitude; 
       double long1 = clickedMarkerLatLng.longitude; 

      Log.e("hello", "Output=" + lat + long1); 

       LocationManager lm; 
     // double lat=123,long1=34; //Defining Latitude & Longitude 
       float radius=30;       //Defining Radius 
     Intent intent = new Intent(PROX_ALERT_INTENT); 
     PendingIntent proximityIntent = PendingIntent.getBroadcast(this, 0, intent, 0); 
     locationManager.addProximityAlert(
      lat, // the latitude of the central point of the alert region 
      long1, // the longitude of the central point of the alert region 
      POINT_RADIUS, // the radius of the central point of the alert region, in meters 
      PROX_ALERT_EXPIRATION, // time for this proximity alert, in milliseconds, or -1 to indicate no expiration 
      proximityIntent // will be used to generate an Intent to fire when entry to or exit from the alert region is detected 
     ); 
     IntentFilter filter = new IntentFilter(PROX_ALERT_INTENT); 
     registerReceiver(new ProximityIntentReceiver(), filter); 
    }