如何在谷歌地图中绘制多边形线——android
我是谷歌地图第二版的新手。我过去常在给定的格子里画一条线。我能画出那条线。有没有办法为具体的时间线划一条线。例如,我有一个板条列表,我想每3秒画一条多边形线。为此,我使用了Thread.sleep(2000)。但是当我这样做的时候,我的设备被击中了,在所有的动作完成后,我可以看到给定的线条。有没有其他方法可以在特定的时间线内画线。提前谢谢如何在谷歌地图中绘制多边形线——android,android,android-mapview,google-maps-android-api-2,Android,Android Mapview,Google Maps Android Api 2,我是谷歌地图第二版的新手。我过去常在给定的格子里画一条线。我能画出那条线。有没有办法为具体的时间线划一条线。例如,我有一个板条列表,我想每3秒画一条多边形线。为此,我使用了Thread.sleep(2000)。但是当我这样做的时候,我的设备被击中了,在所有的动作完成后,我可以看到给定的线条。有没有其他方法可以在特定的时间线内画线。提前谢谢 PolylineOptions polylineOptionsPlay = new PolylineOptions(); fo
PolylineOptions polylineOptionsPlay = new PolylineOptions();
for (int i = 0; i < listPoint.size(); i++) {
try {
System.out.println(i);
LatLng drawpoly = listPoint.get(i);
Log.v(TAG, "Hello :: "+drawpoly);
polylineOptionsPlay.add(drawpoly);
//googleMap.addPolyline(new PolylineOptions().add(locLatLng));
polyline = googleMap.addPolyline(polylineOptionsPlay);
polyline.setColor(Color.BLUE);
polyline.setWidth(2);
Thread.sleep(2000);
} //System.out.println(stem[0]);
catch (InterruptedException ex) {
}
PolylineOptions PolylineOptions play=新的PolylineOptions();
对于(int i=0;i
如果您实现了Thread或HandlerThread,请确保在等待工作线程完成时UI线程没有阻塞-不要调用Thread.wait()或Thread.sleep()
您不应该调用Thread.sleep(),因为它会阻止ui线程。相反,您可以使用处理程序
考虑到listPoint
有一个纬度和经度列表,您可以按如下操作
将下面的变量声明为类变量
Handler m_handler;
Runnable m_handlerTask ;
int t=0;
使用处理程序
以3秒的延迟绘制多段线,使用lat和long绘制多段线
m_handler = new Handler();
m_handlerTask = new Runnable()
{
@Override
public void run() {
if(t<listPoint.size()-1)
{
LatLng src = listPoint.get(t);
LatLng dest = listPoint.get(t + 1);
Polyline line = mMap.addPolyline(new PolylineOptions()
.add(new LatLng(src.latitude, src.longitude),
new LatLng(dest.latitude,dest.longitude))
.width(2).color(Color.BLUE).geodesic(true));
t++;
}
else
{
m_handler.removeCallbacks(m_handlerTask);
}
m_handler.postDelayed(m_handlerTask, 3000);
}
};
m_handlerTask.run();
m_handler=new handler();
m_handlerTask=new Runnable()
{
@凌驾
public void run(){
如果(t)你尝试下面的方法吗?是的,我正在尝试。一旦我确定了,我会进行更新。谢谢让我知道结果并记住不要阻止ui线程。检查答案中的链接。嗨,谢谢,这很好。但问题是我想给一个特定的latlng时间限制给另一个。我在数据库中设置了latlng列表(它有10个以上的板条)。因此,当我开始循环时,它应该给时间线(2秒)来绘制一个板条到另一个板条。:(我对这个主题不熟悉。你可以使用下面的并修改相同的。你面临的困难是什么?