在不同位置和锁定位置之间绘制折线

时间:2013-05-28 16:58:22

标签: android google-maps location draw polyline

我在这里遇到了问题。我有谷歌地图与我自己的位置和锁定位置现在锁定位置没有问题,但当前位置是。我想在这两个地点之间画一条线。他们都工作,所以没有问题。唯一的问题是:

折线代码

 Polyline line = googleMap.addPolyline(new PolylineOptions()
    .add(new LatLng(location.getLatitude(), location.getLongitude()), 
         new LatLng(52.01936, 4.39113))
    .width(5)
    .color(Color.RED));

所以我的想法是让这两个人相互联系,但我不知道该放什么:

.add(new LatLng(location.getLatitude(), location.getLongitude())

这是我将CURRENT位置坐标显示为TextView的代码:

@Override
public void onLocationChanged(Location location) {

    TextView tvLocation = (TextView) findViewById(R.id.tv_location);

    // Getting latitude of the current location
    double latitude = location.getLatitude();

    // Getting longitude of the current location
    double longitude = location.getLongitude();

    // Creating a LatLng object for the current location
    LatLng latLng = new LatLng(latitude, longitude);

    // Showing the current location in Google Map
    googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));

    // Zoom in the Google Map
    googleMap.animateCamera(CameraUpdateFactory.zoomTo(15));

    // Setting latitude and longitude in the TextView tv_location
    tvLocation.setText("Latitude:" +  latitude  + ", Longitude:"+ longitude );

任何人都知道如何让这个工作?如果它不够清楚你告诉我那么我会更清楚地解释它。

1 个答案:

答案 0 :(得分:0)

您需要将位置值从onLocationChanged提取到类变量。例如:

public Location curLoc = new Location();

然后在onLocationChanged()内,将location的值传递给curLoc,如下所示:curLoc=location

然后在您的折线上,使用curLoc.getLatitude()curLoc.getLongitude()

我希望这是有帮助的,祝你好运^^