2017-10-07 13 views
5

मैं अल्गोलिया की इंस्टेंटशर्च एंड्रॉइड लाइब्रेरी का उपयोग कर रहा हूं।मानचित्र को स्थानांतरित करते समय मैं मार्कर अपडेट कैसे कर सकता हूं?

यह मेरा क्वेरी है:

searcher.setQuery(new Query().setAroundLatLngViaIP(true).setAroundRadius(5000)). 

लेकिन जब मैं नक्शा ले जाने, मार्कर जगह में रहते हैं। जब मैं मानचित्र स्थान दृश्य को स्थानांतरित करता हूं तो मैं मानचित्र पर नए मार्कर कैसे प्रदर्शित कर सकता हूं?

+0

हाय Thofiq, ओवरफ्लो स्टैक करने के लिए आपका स्वागत है! आपकी समस्या का समाधान करने वाले उत्तरों को स्वीकार/अपनाने के लिए याद रखें, जो आपकी मदद करने के लिए समय लेते हैं और अन्य लोगों को यह जानने में मदद करते हैं कि यह सहायक था;) – PLNech

उत्तर

4

तो मूल रूप से आप मानचित्र परिवर्तनों को सुनना चाहते हैं और हर बार जब उपयोगकर्ता मानचित्र खींच रहा है और परिणामों को फिर से लोड कर रहा है? यहाँ आप क्या करना चाहिए:

public class AwesomeCameraActivity extends FragmentActivity implements 
     OnCameraIdleListener, 
     OnMapReadyCallback { 

    private GoogleMap mMap; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_my_camera); 

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

    @Override 
    public void onMapReady(GoogleMap map) { 
     mMap = map; 

     mMap.setOnCameraIdleListener(this); 

     // Show the initial position 
     mMap.moveCamera(CameraUpdateFactory 
       .newLatLngZoom(new LatLng(YOUR_LATITUDE, YOUR_LONGITUDE), 10)); 
    } 

    @Override 
    public void onCameraIdle() { 
     // The camera/map stopped moving, now you can fetch the center of the map 
     GeoPoint center = mMap.getProjection().fromPixels(mMap.getHeight()/2, mMap.getWidth()/2); 
     double centerLat = (double)center.getLatitudeE6()/(double)1E6; 
     double centerLng = (double)center.getLongitudeE6()/(double)1E6; 

     // Now fire a new search with the new latitude and longitude 
     searcher.setQuery(new Query().setAroundLatLng(new AbstractQuery.LatLng(centerLat, centerLng)).setAroundRadius(5000)) 
    } 
} 
+0

त्रुटि दिखा रहा है: प्रतीक GeoPoint –

+0

मेरा बुरा नहीं हल कर सकता है। वेरिएबल 'geoPoint' को' center' में बदलें। और आयात करें com.google.maps.GeoPoint आयात करें; 'मैंने कोड में बदलाव किए हैं, अब काम करना चाहिए –

+0

धन्यवाद लेकिन मार्कर निरंतर ब्लिंकिंग है। और मैंने टोस्ट संदेश (लैट एलएनजी वैल्यू के लिए) भी लगातार प्रदर्शित किया। मुझे लगता है कि यह लूपिंग है तो इसे कैसे रोकें –

संबंधित मुद्दे

 संबंधित मुद्दे