2011-01-05 5 views
0

Я пытаюсь центрировать маркер 40x40 в позиции lat/lon в itemizedOverlay для просмотра карты.Точное позиционирование маркеров для lat/lon

Я установил маркер границу с

markerDefault.setBounds(-markerDefault.getIntrinsicWidth()/2 
      ,-markerDefault.getIntrinsicHeight()/2 
      , markerDefault.getIntrinsicWidth()/2 
      , markerDefault.getIntrinsicHeight()/2); 

Когда я проверить широта/долгота, нажав на центр изображения маркеров, латы, кажется, неправильно, о высоте изображения.

Есть ли способ обеспечить, чтобы изображение было сосредоточено на требуемом лат/лоне?

Возможно ли, что курсор мыши по умолчанию - стрелка - не выполняет свое обычное поведение, используя свой заостренный конец для взаимодействия с эмулятором?

Спасибо,

Geoff

+0

Какой курсор мыши? – Falmarri

+0

Я использую эмулятор, поэтому «нажмите» на самом деле щелчок мышью. Я использую метод onTap (GeoPoint p, MapView mapView), чтобы обнаружить точку и получить lat-lon от p. – Geoff

ответ

0

Ответ -

Я использую ItemisedOverlay. Когда добавляется элемент OverlayItem, вы можете указать, будет ли маркер располагаться с центром в позиции или его нижним краем в позиции. См ItemizedOverlay.

У меня была копия и вставить некоторый хороший код для ItemizedOverlay я нашел (на StackOverflow, конечно), который включал

super(boundCenterBottom(defaultMarker)); 

Это вызвало кажущуюся аномалию я нашел. Хорошо, если вы используете маркер pin-type tho. Я изменил его на

super(boundCenter(defaultMarker)); 

и он работает как ожидалось.