我想根据lat long在谷歌地图上显示路线。特定的位置。我在这里粘贴了我的代码。我只得到一个谷歌地图作为输出,但不是路线... PLZ帮助我在哪里出错。提前做好。
@SuppressLint("NewApi")
public class MapActivity extends Activity implements OnMapClickListener, OnMapLongClickListener
{
private GoogleMap googleMap;
private ArrayList<LatLng> arrayPoints = null;
PolylineOptions polylineOptions;
ArrayList<LatLng> points = null;
String lat12[] = {"13.6","13.75","14.03565","14.28","14.71795","15.252","15.703","16.19","16.95","17.57","20.38"};
String long12[] = {"89.20","88.89","88.66405","88.625","88.311","88.244","88.17","87.97","87.83","87.36","80.55"};
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
arrayPoints = new ArrayList<LatLng>();
MapFragment fm = (MapFragment) getFragmentManager().findFragmentById(
R.id.fragment1);
googleMap = fm.getMap();
googleMap.setMyLocationEnabled(true);
googleMap.setOnMapClickListener(this);
googleMap.setOnMapLongClickListener(this);
arrayPoints = new ArrayList<LatLng>();
try {
for (int i = 0; i < lat12.length; i++)
{
double lat2=Double.parseDouble(lat12[i]);
double long2=Double.parseDouble(long12[i]);
LatLng position = new LatLng(lat2, long2);
points.add(position);
//arrayPoints.add(point);
}
polylineOptions.addAll(points);
polylineOptions.color(Color.RED);
polylineOptions.width(7);
polylineOptions.color(Color.RED);
polylineOptions.width(7);
//arrayPoints.add(point);
//polylineOptions.addAll(arrayPoints);
googleMap.addPolyline(polylineOptions);
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onMapLongClick(LatLng point)
{
googleMap.clear();
arrayPoints.clear();
}
@Override
public void onMapClick(LatLng arg0) {
// TODO Auto-generated method stub
}
}
答案 0 :(得分:0)
您需要在for循环之前实例化points
ArrayList。由于没有实例化,代码一直返回NullPointerException,因此没有在地图上显示任何行。