2016-04-02 4 views
-1

Wie ich verschiedene Symbole zu jedem Marker setzen kann, Marker Länge und Breite werden vom Server empfangen und ich grafiere jedes Gerät Logitude und Breite auf dem Kartenbildschirm und entfernen Sie die vorherigen Markierungen alle 5 Sekunden.Wie setzt man verschiedene Symbole für jeden Marker?

Antwort

1

Sie müssen Markerbild und Position (Breiten- und Längengrad) auf dem Server gespeichert haben. Beim Abrufen der Daten vom Server erhalten Sie beides. Hier ist ein Beispielcode:

if(googleMap != null){ 
     googleMap.clear(); // This will clear all of the previously added markers 
     ArrayList<ServerItems> listOfItems = new ArrayList<>(); // Where ServerItems is your custom Model 
     for(ServerItems item : listOfItems){ 
      LatLng position = item.getPosition(); // Assuming that Your Model ServerItems contains a method which returns LatLng 
      String markerURL = item.getMarkerURL(); // Assuming that Your Model ServerItems contains a method which returns MarkerURL stored on Server 
      ImageLoader.getInstance().loadImage(markerURL, new ImageLoadingListener() { 
       @Override 
       public void onLoadingStarted(String imageUri, View view) { 

       } 

       @Override 
       public void onLoadingFailed(String imageUri, View view, FailReason failReason) { 
        googleMap.addMarker(new MarkerOptions().position(position)); 
       } 

       @Override 
       public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { 
        googleMap.addMarker(new MarkerOptions().position(position).icon(BitmapDescriptorFactory.fromBitmap(loadedImage))); 
       } 

       @Override 
       public void onLoadingCancelled(String imageUri, View view) { 
        googleMap.addMarker(new MarkerOptions().position(position)); 
       } 
      }); 

     } 

    } 

Bitte beachten Sie, dass ich UniversalImageLoader verwende, um von dem Server Bild in Form von Bitmap zu laden.

+0

bitte erklären Sie mir, was ist MarkerUrl und Server Artikel – Ahmad

+0

Wie Sie gesagt haben, Marker Länge und Breite werden vom Server empfangen. Sie müssen auch die Marker Image URL vom Server erhalten. Ich nehme also ein Dummy-Modell namens ServerItem an, das MarkerLatLng und MarkerURL enthält –

Verwandte Themen