我试图在给定的标记之间绘制折线,这些标记保存在arraylist(poisMap)中。根据我的研究,我创建了以下代码。我没有错误也没有线,但标记都是可见的。
我如何设置折线方法以使其正常工作?
private void setUpMap() {
for (int i = 0; i < poisMap.size(); i++) {
latitude = poisMap.get(i).getLatitudePoi();
if (latitude == 0) {
Log.i("debug", "latitude null");
}
longitude = poisMap.get(i).getLongitudePoi();
poiTitle = poisMap.get(i).getTitle();
mMap.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).title(poiTitle));
PolylineOptions routeDraw = new PolylineOptions().add(new LatLng(latitude,longitude)).width(5).color(Color.BLUE);
Polyline polyline = mMap.addPolyline(routeDraw);
}
latitudeZoom = poisMap.get(0).getLatitudePoi();
longitudeZoom = poisMap.get(0).getLongitudePoi();
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitudeZoom,longitudeZoom),14));
mMap.setMyLocationEnabled(true);
}
答案 0 :(得分:1)
private void setUpMap() {
PolylineOptions routeDraw = new PolylineOptions().width(5).color(Color.BLUE);
for (int i = 0; i < poisMap.size(); i++) {
latitude = poisMap.get(i).getLatitudePoi();
if (latitude == 0) {
Log.i("debug", "latitude null");
}
longitude = poisMap.get(i).getLongitudePoi();
poiTitle = poisMap.get(i).getTitle();
mMap.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).title(poiTitle));
routeDraw.add(new LatLng(latitude,longitude))
}
Polyline polyline = mMap.addPolyline(routeDraw);
latitudeZoom = poisMap.get(0).getLatitudePoi();
longitudeZoom = poisMap.get(0).getLongitudePoi();
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitudeZoom,longitudeZoom),14));
mMap.setMyLocationEnabled(true);
}
其他
private void setUpMap() {
LatLng[] latlngarray = new LatLng[poisMap.size()];
for (int i = 0; i < poisMap.size(); i++) {
latitude = poisMap.get(i).getLatitudePoi();
if (latitude == 0) {
Log.i("debug", "latitude null");
}
longitude = poisMap.get(i).getLongitudePoi();
poiTitle = poisMap.get(i).getTitle();
mMap.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).title(poiTitle));
latlngarray[i]= new LatLng(latitude, longitude);
}
PolylineOptions routeDraw = new PolylineOptions().add(latlngarray).width(5).color(Color.BLUE);
Polyline polyline = mMap.addPolyline(routeDraw);
latitudeZoom = poisMap.get(0).getLatitudePoi();
longitudeZoom = poisMap.get(0).getLongitudePoi();
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitudeZoom,longitudeZoom),14));
mMap.setMyLocationEnabled(true);
}
答案 1 :(得分:0)