【问题标题】:Drag Marker to return the latitude and longitude of that location in google maps拖动标记以在谷歌地图中返回该位置的纬度和经度
【发布时间】:2011-11-07 09:48:50
【问题描述】:

我是安卓谷歌地图的新手。 我想要一个功能,例如,它必须在页面上显示地图,并且地图中必须有一个标记,并且地图必须是可拖动的,并且通过拖动它必须显示拖动位置的纬度和经度.. 谁能帮我解决这个问题?

【问题讨论】:

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


    【解决方案1】:

    这里有一个tutorial,就是这样做的。


    覆盖onTouchEvent()

    if (Action == MotionEvent.ACTION_UP){
    if(!moveMap)
    {
        Projection proj = myMapView.getProjection();
        GeoPoint loc = proj.fromPixels((int)arg0.getX(), (int)arg0.getY());
    
        //remove the last marker
        myMapView.getOverlays().remove(0);
    
        centerLocation(loc);
    }
    

    else if (Action == MotionEvent.ACTION_MOVE){
    moveMap = true;
    }
    

    【讨论】:

    • 您好,我成功实现了上述教程,现在我正在获取纬度和经度。我还想要加载特定纬度和经度的地址?这个经纬度对应的地址怎么获取?
    【解决方案2】:

    使用下面的sn-p获取标记的拖动位置和详细信息。

    map.setOnMarkerDragListener(new GoogleMap.OnMarkerDragListener() {
    
            @Override
            public void onMarkerDragStart(Marker marker) {
            }
    
            @Override
            public void onMarkerDragEnd(Marker marker) {
                Log.d(TAG, "latitude : "+ marker.getPosition().latitude);
                marker.setSnippet(marker.getPosition().latitude);
                map.animateCamera(CameraUpdateFactory.newLatLng(marker.getPosition()));
    
            }
    
            @Override
            public void onMarkerDrag(Marker marker) {
            }
    
        });
    

    【讨论】:

      猜你喜欢
      • 2016-07-26
      • 1970-01-01
      • 2013-04-17
      • 1970-01-01
      • 2013-10-01
      • 1970-01-01
      • 2014-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多