开发者

Precise positioning of markers for lat/lon

I'm trying to centre a 40x40 marker at a lat/lon position in an ite开发者_运维问答mizedOverlay for a mapview.

I set the marker bounds with

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

When I check the lat/lon by tapping the centre of the marker image, the lat seems to be wrong by about the height of the image.

Is there a way to ensure the image is centred at the required lat/lon?

Is it possible the default mouse cursor - an arrow - isn't doing its usual behaviour of using its pointy end to interact with the emulator?

Thanks,

Geoff


The answer -

I'm using an ItemisedOverlay. When an OverlayItem is added, you can specify whether the marker is positioned with its centre at the position, or its lower edge at the position. See ItemizedOverlay.

I had copy-and-pasted some nice code for an ItemizedOverlay I found( on stackoverflow of course), which included

super(boundCenterBottom(defaultMarker));

This caused the apparent anomaly I found. Its good if you're using a pin-type marker tho. I changed it to

super(boundCenter(defaultMarker));

and it works as expected.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜