首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何正确使用drawMyLocation

如何正确使用drawMyLocation
EN

Stack Overflow用户
提问于 2011-09-01 15:14:42
回答 1查看 1.5K关注 0票数 0

我试图用android中的默认蓝点显示用户的当前位置。在我的地图页面中,我也有一个显示不同兴趣点的布局。我在找出如何处理一些变量时遇到了麻烦,不知道是否有人可以帮助我。

这就是我到目前为止用来显示我的位置的。

代码语言:javascript
运行
复制
    Location location = locationManager
                    .getLastKnownLocation(bestProvider);
            try {

                GeoPoint myPoint2 = new GeoPoint(
                        (int) (location.getLatitude() * 1E6),
                        (int) (location.getLongitude() * 1E6));
                newoverlay.drawMyLocation(null, mapView, location, myPoint2,
                        1000);
                mapOverlays.add(newoverlay);
            } catch (NullPointerException e) {
                GeoPoint myPoint2 = new GeoPoint((int) (-1 * 1E6),
                        (int) (-1 * 1E6));
                **newoverlay.drawMyLocation(null, mapView, location, myPoint2,
                        1000);**
                mapOverlays.add(newoverlay);
            }

我不确定要放什么作为画布,所以我把它放入null,这样它就可以编译了。我使用来自位置管理器的位置,并从位置变量获得我的地理位置。我也不确定"when“参数应该是什么。

我还想知道蓝色气泡是如何知道与人一起移动的,图片是否每x毫秒更新一次,取决于“何时”参数?

到目前为止,该应用程序没有崩溃,但它也没有在任何位置显示蓝点。我确信我只是需要帮助来找出画布参数应该是什么。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-01 15:23:07

在地图活动中尝试此方法

代码语言:javascript
运行
复制
class CurOverlay extends Overlay {
        private GeoPoint pointToDraw;

        public void setPointToDraw(GeoPoint point) {
            pointToDraw = point;
        }

        public GeoPoint getPointToDraw() {
            return pointToDraw;
        }

        @Override
        public boolean draw(Canvas canvas, MapView curmapView, boolean shadow,
                long when) {
            super.draw(canvas, curmapView, shadow);

            // convert point to pixels
            Point screenPts = new Point();
            curmapView.getProjection().toPixels(pointToDraw, screenPts);

            // add marker
            Bitmap bmp = BitmapFactory.decodeResource(getResources(),
                    R.drawable.pinsource);
            canvas.drawBitmap(bmp, screenPts.x - 28, screenPts.y - 48, null);
            return true;
        }

    }

我希望这对你有用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7267077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档