【问题标题】:convert LatLng into Pixel compatible to Android Screen将 LatLng 转换为与 Android 屏幕兼容的像素
【发布时间】:2011-09-30 06:27:10
【问题描述】:

我有一个谷歌地图图像,其中标记了一个位置,例如“纽约”,我已经使用谷歌地图 Javascript API V3 click 的 javascript 示例将其纬度和经度转换为像素

但问题是 ANCHOR_OFFSET_ 因为我希望像素根据 Android 屏幕进行转换。所以基本上我想要实现的是如果我有位置(lat,lng) - 在谷歌地图图像上 - 我想将它转换为 android 屏幕的(X,Y)坐标。

【问题讨论】:

    标签: android google-maps google-maps-api-3


    【解决方案1】:

    如果您使用的是 MapView,那么您可以调用类似:

    //Get map projection
    Projection projection = mapView.getProjection();
    
    //Convert LatLng to on screen location
    Point p1 = new Point();
    //projection.toPixels(gp, p1);
    p1 = projection.toScreenLocation(location);
    

    location 是一个 LatLng。结果点p1 包含屏幕位置,屏幕位置是相对于地图左上角(不是整个屏幕)的屏幕像素(不是显示像素)。

    【讨论】:

    • 我正在将 Google Map 渲染到 WebView 中,所以我没有使用 MapView,有其他方法吗?
    • 我正在使用 Projection 类 developers.google.com/android/reference/com/google/android/gms/… 但没有方法 toPixels,我使用了错误的类吗?如果是,正确的是什么?
    • @ademar111190 刚刚编辑了答案,帖子现在已经快 5 年了,所以 api 一定在某个时候发生了变化。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 2018-02-10
    • 1970-01-01
    • 2018-04-16
    相关资源
    最近更新 更多