Voglio realizzare un touchListener
su una polilinea visualizzato con Google Maps V2 Android API.rilevamento Touch polyline in Google Maps Android API v2
livello dello zoom: CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(lat_Lng, 5);
ho provato il seguente codice polilinea touch:
boolean onpoly = false;
for (Polyline polyline : mPolylines) {
for (LatLng polyCoords : polyline.getPoints()) {
float[] results = new float[1];
Location.distanceBetween(points.latitude, points.longitude, polyCoords.latitude, polyCoords.longitude, results);
if (results[0] < 100) {
onpoly = true;
Marker mark = map.addMarker(new MarkerOptions().position(points).title("AddEvent")
.snippet("" + addressaddexpense).icon(BitmapDescriptorFactory.fromResource(R.drawable.addicon)));
UtilsClass.dropPinEffect(mark);
}// end if..
} // end for loop
}// end for loop
if (onpoly == true) {
Toast.makeText(getActivity(), "Poly line detected", Toast.LENGTH_SHORT).show();
}// end if
Ha funzionato, ma non perfettamente. non rileverà l'evento tocco a meno che non esegua l'ingrandimento, a volte costringendomi a toccare la mappa più di 5 volte prima di eseguire lo zoom per ottenere il rilevamento.
Ho quindi modificato la summenzionata condizione if
da if (results[0] < 100)
a if (results[0] < 150 * (22 - map.getCameraPosition().zoom))
e la funzionalità è migliorata ma non funziona ancora tutto il tempo.
Nota: Voglio rilevare il tocco polilinea a qualsiasi livello di zoom.
Ho le seguenti domande per fornire una risposta migliore di quella che ho attualmente fatto: 1. dove si trova il codice pubblicato? è in un 'onMapClickListener'? 'DispatchTouchEvent'? qualcos'altro? 2. quando si dice di voler rilevare un tocco polilinea; intendi un clic sulla linea o ti piacerebbe anche abilitare lo scorrimento o altri gesti tattili? –
ho usato questo codice all'interno diMapLongClickListener .. – harikrishnan
OK, quindi prova suMapClickListener (il clic lungo è in realtà progettato per fare ciò che hai descritto, che deve essere chiamato solo dopo un lungo clic sull'oggetto senza movimento) e guarda anche il mio answer :) –