【问题标题】:Get longitude and latitude of marker on google maps android在谷歌地图android上获取标记的经度和纬度
【发布时间】:2014-05-12 23:27:59
【问题描述】:

在我的应用程序中,用户可以 onLongClick 将标记添加到谷歌地图。它将这些坐标保存为一个点。我知道可以使用 location = location.getLastKnownLocation 方法 getLongitude() 和 getLatitude() 。无论如何,是否可以通过用户放置在谷歌地图上的标记来执行此操作,以便可以检索坐标。这是获取标记点并存储它的代码。

public void onMapLongClick(LatLng point) {
    tvLocInfo.setText("New marker added@" + point.toString());             map.addMarker(new MarkerOptions().position(point).title(point.toString())); 
pointfinal = point;
Toast.makeText(this, point.toString(), Toast.LENGTH_LONG).show();
}

【问题讨论】:

  • 不确定你到底在问什么。我假设您正在寻找添加到地图上的标记的 getLongitude() getLatitude() 对吗?如果是这样,LatLng 点已经在那里供您使用。

标签: android eclipse google-maps latitude-longitude


【解决方案1】:

试试这个:

public void onMapLongClick(LatLng point) {
    tvLocInfo.setText("New marker added@" + point.toString());        
    //Create a marker object
    Marker myMarker = map.addMarker(new MarkerOptions().position(point).title(point.toString()));

    //And now you can use it's values
    myMarker.getPosition().latitude;
    myMarker.getPosition().longitude;
}

如果您有多个标记,您可以使用一个数组来存储所有标记

【讨论】:

  • JustWe,你的意思是point.latitude和point.longitude吗? CarlosJiminez 在这些行 myMarker.getPosition().latitude; 上给出了“AssignmentOperatorExpression”错误; myMarker.getPosition().longitude;
  • 正是我的意思。点变量在这里有你需要的一切
【解决方案2】:

看到这个link

它说

map.setOnInfoWindowClickListener(
    new OnInfoWindowClickListener(){
    @Override
    public void onInfoWindowClick(Marker arg0) {

        // TODO Auto-generated method stub
        arg0.hideInfoWindow();
        double dlat =arg0.getPosition().latitude;
        double dlon =arg0.getPosition().longitude;
        String slat = String.valueOf(dlat);
        String slon = String.valueOf(dlon);
        Log.d("Position","Lat:"+slat+",Lon:"+slon);  
    }
});

【讨论】:

    猜你喜欢
    • 2013-04-17
    • 2018-02-17
    • 1970-01-01
    • 2011-07-14
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多