虚线圈路径路径像谷歌地图

时间:2017-01-05 09:34:00

标签: android google-maps marker polyline

Google map

我想要一个像上面虚线圆路径路径的地图用户界面。我通过网络和堆栈溢出搜索了很多我无法找到任何来源。

我试过

  • addCircle折线但是当我将相机缩放到时,圆圈很大    谷歌地图的延伸

  • 我不知道谷歌地图如何使用标记或 折线

提供帮助是赞赏而不是downvotes !!

谢谢: - )

2 个答案:

答案 0 :(得分:1)

您可以将Stroke Patterns用于折线,如下所示:

@Override
public void onMapReady(GoogleMap googleMap) {
    List<LatLng> sourcePoints = new ArrayList<>();
    sourcePoints.add(new LatLng(22.724526, 75.825979));
    sourcePoints.add(new LatLng(22.720165, 75.905953));
    sourcePoints.add(new LatLng(22.766649, 76.075773));
    sourcePoints.add(new LatLng(22.862032, 76.098302));

    PolylineOptions polyLineOptions = new PolylineOptions();
    polyLineOptions.addAll(sourcePoints);
    polyLineOptions.width(50f);
    polyLineOptions.color(Color.rgb(0, 178, 255));
    Polyline polyline = googleMap.addPolyline(polyLineOptions);

    List<PatternItem> pattern = Arrays.<PatternItem>asList(new Dot(), new Gap(10f));
    polyline.setPattern(pattern);

    CameraPosition cameraPosition = new CameraPosition.Builder()
            .target(sourcePoints.get(2))
            .zoom(14)                   
            .build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));

}

得到这样的结果:

Dotted path polyline

不幸的是,由于Dot()Gap()尺寸之间存在非线性依赖关系,因此无法在较小的圆圈下绘制较大的圆圈来实现“镶边”圆圈路径。

或者你可以在MapVew画布上通过覆盖dispatchDraw()的{​​{1}}来绘制你想要的任何内容,就像在this回答一样(这是关于MapView {{3} },但方法也适用于Google地图MapBox

答案 1 :(得分:0)

我认为它有点矫枉过正,但你可以使用https://console.developers.google.com/apis/library

中的一些Google API

并从他们的LatLngs集中获取路径并制作,然后像普通标记一样在googleMap上绘制它们,但使用小圆圈作为图标。

说实话,我不确定你想要达到什么目标,我认为更简单的想法是使用原点和目的地并在GoogleMaps Android App中打开它 - 不要重新发明轮子。