2013-08-16 19 views
7

Ok Mark Polyline üzerinden Android Google Güzergah Haritası

Ben bağlantıların birkaç aracılığıyla gitmiş

, çoğu JS https://google-developers.appspot.com/maps/documentation/javascript/examples/overlay-symbol-arrow bağlantı veren ama Android'de JS gerekmez ve ben bazı ben harita aktivitesini de https://developers.google.com/maps/documentation/android/v1/hello-mapview ibaret olan bir öğretici takip MapActivity kullanan

Android

yılında bu kodları kullanamaz ama ben mapactivity üretemez işe yaramadı ve böylece i locationoverlays kullanamadı

Ayrıca bazı yorumlara da yorum yazdım o v3 mevcuttur ama şimdi benim gereksinimi v2 olduğu gibi

bu soruyu biliyorum ama yine de ben

nasıl ben bir ok başı üzerinde gösterebilir herhangi uygun bir cevap bulamadık burada çok defalarca istendi Polyline, nereye gideceğimi gösteren yönü göstermek için

herhangi bir örnek veya öğretici çok faydalı olacaktır.

sayesinde Google Maps API v2 Demo yılında

cevap

3

özel bir görüntü bir GoogleMap olarak ayarlandığında nasıl görebileceğiniz bir MarkerDemoActivity sınıfı yoktur.

// First you need rotate the bitmap of the arrowhead somewhere in your code 
Matrix matrix = new Matrix(); 
matrix.postRotate(rotationDegrees); 
// Create the rotated arrowhead bitmap 
Bitmap arrowheadBitmap = Bitmap.createBitmap(originalBitmap, 0, 0, 
         width, height, matrix, true); 
// Now we are gonna to add a marker 
mArrowhead = mMap.addMarker(new MarkerOptions() 
.position(POSITION) 
.icon(arrowheadBitmap)); 

bazı açıklamalar: Böyle okun göstermek üzere işaretleyici kullanabilirsiniz Eğer bir rota çizerken veya sadece almak için, çizmek iki noktayı sahipsek rotationDegrees bunları alabilirsiniz

rotationDegrees = Math.toDegrees(Math.atan2(originLat-destinyLat, originLon-destinyLon)); 

klasik rotasyon oyun algoritması: bunu yaparak D

Eğer ok ucu görüntü yukarı geldiğinde bundan emin olun. Okları göstermek için bir Görüntü kullanmak istemiyorsanız ve bunun yerine yalnızca Polylines kullanmak istediğinizi unutmayın. Son LatLng noktasını (ok ucunu görüntüleyeceğiniz yeri) alarak bunu başarabilirsiniz. translation algoritmasını 45head yaparak ok başını çizen iki çizgi çizin.

+1

. Sorun, bitmap'in alt kısmının belirttiğiniz konumda başlamasıdır, bu nedenle ok çizginin biraz üstünde görünür. Bunun yerine neredeyse <

+1

İşaretçi eklerken, yer değiştirmeyi işaretleyebilirsiniz. işaretleyici.setAnchor (0.5f, 0f); sadece değişkenlerle oyna – Alpha

2

Geçtiğimiz günlerde Google, Google Haritalar Android API v2'de bu özelliği otomatik olarak uyguladı.

Özelleştirilmiş bir bitmap ile, çok noktalı satırların başlangıç ​​ve bitiş başlıklarını özelleştirebilme özelliğini eklediler. Bunu kullanarak, çokgenlere ok uçları ekleyebileceksiniz.

Shapes Guide'daki Satır Başlıkları hakkında daha fazla bilgi edinin. Polylines and Polygons öğreticisinde bir example'a bakın.

Ayrıca buradan gelen blog yayınını okuyabilirsiniz: Bu, hemen hemen mükemmel çalışıyor

https://maps-apis.googleblog.com/2017/02/styling-and-custom-data-for-polylines.html