Вземете дължина и ширина на маркера на Google Maps android

В моето приложение потребителят може onLongClick да добави маркер към Google Maps. Той запазва тези координати като точка. Знам, че с местоположението = location.getLastKnownLocation могат да се използват методите getLongitude() и getLatitude(). Има ли все пак да направите това с маркер, поставен на google maps от потребителя, така че координатите да могат да бъдат извлечени. Това е кодът, който получава маркерната точка и я съхранява.

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();
}

person Andrew Stewart    schedule 12.05.2014    source източник
comment
Не съм сигурен какво точно питаш. Предполагам, че търсите getLongitude() getLatitude() за маркера, който е добавен на картата, нали? Ако е така, точката LatLng вече е там, за да я използвате.   -  person JustWe    schedule 13.05.2014


Отговори (2)


Опитайте тази:

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;
}

Ако имате няколко маркера, можете да използвате масив, за да ги съхраните всички

person Carlos J    schedule 12.05.2014
comment
JustWe, имате предвид point.latitude и point.longitude? CarlosJiminez получава грешка AssignmentOperatorExpression на тези редове myMarker.getPosition().latitude; myMarker.getPosition().longitude; - person Andrew Stewart; 13.05.2014
comment
Точно това имах предвид. променливата точка има всичко необходимо тук - person JustWe; 13.05.2014

Вижте тази връзка

Казва

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);  
    }
});
person Lal    schedule 13.05.2014