2017-01-14 4 views
1

У меня есть список координат (yLat, xLon) с углом (в градусах, например, 160), чтобы нарисовать на моей карте, и я бы как делать это с помощью линий или стрелок, которые начинаются с координат и направляются к подшипнику.Android GoogleMap: добавьте маркер в виде линии с углом от начала координат

Я начал делать это с помощью полилинии:

LatLng thisPoint = new LatLng(yLat, xLon); 
Polyline site = googleMap.addPolyline(new PolylineOptions() 
        .add(thisPoint, new LatLng(11.593, 104.932)) 
        .width(5) 
        .color(Color.MAGENTA)); 

Однако линия слишком мал, когда я уменьшить: Я хочу, чтобы линия всегда одинаковый размер на экране, чтобы показать направление для пользователя и независимо от уровня масштабирования.

См. Пример ниже: на первом снимке экрана пурпурная линия достаточно большая, но на втором после масштабирования линия становится меньше, и мы не можем видеть направление так четко.

in this screenshot the line is big enough to be visible

after zooming out, the same line is too small to be clearly visible

Любое предложение?

+0

вы можете вставить снимок экрана, прежде чем увеличения и после увеличения выхода –

+0

я добавил 2 скриншоты, чтобы показать разницу, спасибо! – ceyquem

+0

, как это возможно, когда вы уменьшаете масштаб своей линии, также уменьшатся по мере уменьшения площади вашего местоположения. это поведение по умолчанию в карте google. –

ответ

0

Я нашел лучший способ удовлетворить мою потребность: я создал маркер со значком с вертикальной стрелкой посередине прозрачного квадрата (R.mipmap.ic_arrow_up), затем создаю маркер, применяя поворот требуемый угол:

googleMap.addMarker(new MarkerOptions() 
     .position(myLatLng) 
     .title(myTitle) 
     .snippet(mySnippet) 
     .icon(BitmapDescriptorFactory.fromResource(R.mipmap.ic_arrow_up)) 
     .rotation(myAngle)); 

Надеется, что это поможет другим людям