2014-12-12 4 views

ответ

0

что вы можете сделать, это использовать метод addPlyline для рисования линии и создать собственный маркер для отображения расстояния.

нарисовать линию:

map.addPolyline(new PolylineOptions() 
    .add(new LatLng(lats, lons), new LatLng(late,lone)) 
    .width(5) 
    .color(color)); 

Чтобы создать пользовательский маркер:

map.addMarker(new MarkerOptions() 
     .position(new LatLng(<Add a LatLng of center>) 
     .title("100 Mi")); 

Для InfoWindow при нагрузках деятельности:

Для этого вам нужно создать маркер вместо использования map.addMarker использовать это.

LatLng latlng= new LatLng(lat, lng); 
    Marker marker= map.addMarker(new MarkerOptions() 
          .position(latlng) 
           .title("100 Mi")); 
    marker.showInfoWindow(); 

Используйте OnDraw метод для рисования текста на карте:

@Override 
public void draw(Canvas canvas, MapView mapView, boolean shadow) { 
Paint strokePaint = new Paint(); 
strokePaint.setARGB(255, 0, 0, 0); 
strokePaint.setTextAlign(Paint.Align.CENTER); 
strokePaint.setTextSize(16); 
strokePaint.setTypeface(Typeface.DEFAULT_BOLD); 
strokePaint.setStyle(Paint.Style.STROKE); 
strokePaint.setStrokeWidth(2); 

Paint textPaint = new Paint(); 
textPaint.setARGB(255, 255, 255, 255); 
textPaint.setTextAlign(Paint.Align.CENTER); 
textPaint.setTextSize(16); 
textPaint.setTypeface(Typeface.DEFAULT_BOLD); 

canvas.drawText("Some Text", 100, 100, strokePaint); 
canvas.drawText("Some Text", 100, 100, textPaint); 

super.draw(canvas, mapView, shadow); 
} 
+0

но вызова после нажатия на маркер, и мне нужно только тогда, когда активность будет загружаться. – Nitin

+0

не получил это. так что вы создаете круг при нагрузках активности? –

+0

есть кнопка, которая выбирает latlong от сервера и участка, который указывает на карту с помощью некоторого geo-fence (Circle) и маркеров. – Nitin

Смежные вопросы