【问题标题】:add a marker to google map wrt fix pixel distance向谷歌地图添加标记以修复像素距离
【发布时间】:2018-07-28 20:35:18
【问题描述】:

我可以在谷歌地图中以固定像素距离 w.r.t 添加一个标记吗?我的位置?正如文件所说,LatLang 只是对标记的要求,但在点之间我想沿着屏幕上始终可见的方向放置一个标记。 例如现在我将标记为:

    Marker marker = mMap.addMarker(new MarkerOptions()
            .position(new LatLng(latitude+.005, longitude))
            .anchor(0.5f,0.5f)
        );

这对于我的默认缩放级别 17 来说是可以的,但是当我放大更多时会离开屏幕。 有什么想法吗?

【问题讨论】:

  • 听起来像是 Projection 类的工作 (fromScreenLocation)?因此,例如计算“我的位置”的点(使用“toScreenLocation”)和一个简单的 x/y(以屏幕像素为单位)增量,然后使用“fromScreenLocation”将其转换为 LatLng。投影是从 map.getProjection() 获得的。对于边缘情况,您的解决方案必须更加智能,并且还必须在每次投影更改(地图移动/缩放)时重新计算。
  • 我会尝试创建一个位图,该位图已经“位移”了一些像素(即其原点与真实内容有偏移),然后直接将位置设置为 LatLng。但是不要问我,如何创建这样的可绘制对象。
  • 是的...我尝试过同样的方法,位图就在那里。但是,如果我缩放/取消缩放屏幕中可见的 LatLang 值也会改变,对吧?
  • 我的理解如下:您想显示一个与实际位置略有偏移的标记,也许是为了不被标记隐藏位置。缩放时,LatLng 可能会移出可见区域。但这与标记无关,标记仍然会被相同数量的像素移位,因为您不再需要在纬度上添加 0.005。 (纬度的尺度变化,但像素的尺度不变)
  • 好像有什么误会。也许您更详细地解释您想要实现的目标。

标签: android google-maps-markers google-maps-android-api-2


【解决方案1】:

Custom-Makers

听起来像是我为网站上的“联系部分”制作的东西。也许这个? :-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    相关资源
    最近更新 更多