根据Android条件为Google地图绘制折线
Posted
技术标签:
【中文标题】根据Android条件为Google地图绘制折线【英文标题】:Draw Polyline for Google map by for condition Android 【发布时间】:2014-08-13 10:05:58 【问题描述】:我试图在给定标记之间绘制一条折线,这些标记保存在数组列表 (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);
【问题讨论】:
您的代码中的drawLine
在哪里?
也许这就是问题所在 - drawLine 是什么?
【参考方案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);
【讨论】:
【参考方案2】:如果您使用谷歌地图,请勾选此项 [http://wptrafficanalyzer.in/blog/drawing-driving-route-directions-between-two-locations-using-google-directions-in-google-map-android-api-v2/][1]
【讨论】:
谢谢,但如果我没看错的话,我的代码也是这样写的,不是吗?以上是关于根据Android条件为Google地图绘制折线的主要内容,如果未能解决你的问题,请参考以下文章
谷歌地图 android 上的折线用于每次位置更改、新折线或 setPoints?