如何绘制一条线来覆盖地图的一个区域[android google map V2]

时间:2014-07-30 05:23:40

标签: android google-maps location polygon google-maps-api-2

我想做这样的事情:

我想在地图上标记特定区域,如下图所示。如果我当前的位置在该区域内,我想显示一条消息。我刚接触谷歌地图。我刚刚关注了一些谷歌地图教程。我听说谷歌地图中有一些调用多边形的东西..但我对它没有多少想法..有人可以告诉我一个克服我的问题的方法。我很高兴,如果有人可以给我代码示例,链接与答案。

enter image description here 谢谢

2 个答案:

答案 0 :(得分:1)

FragmentManager myFragmentManager = getFragmentManager();
MapFragment myMapFragment = (MapFragment)myFragmentManager.findFragmentById(R.id.map);
GoogleMap myMap = myMapFragment.getMap();

myMap.setMyLocationEnabled(true);
myMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);

//myMap.addMarker(arg0)
myMap.addMarker(new MarkerOptions()
    .position(new LatLng(29.0167,77.3833))
    .title("Hello world"));

myMap.setOnMapClickListener(this);
myMap.setOnMapLongClickListener(this);
myMap.setOnMarkerClickListener(this);

markerClicked = false;

Polygon polygon = myMap.addPolygon(new PolygonOptions()
    .add(new LatLng(0, 0), new LatLng(0, 5), new LatLng(3, 5), new LatLng(0, 0))
    .strokeColor(Color.RED)
    .fillColor(Color.parseColor("#51000000")).strokeWidth(2));

Polygon polygon1 = myMap.addPolygon(new PolygonOptions()
    .add(new LatLng(29.0167,77.3833), new LatLng(18.9647, 72.8258),new LatLng(27.21, 75.33),new LatLng(29.0167,77.3833))
    .strokeColor(Color.RED)
    .fillColor(Color.parseColor("#51000000")).strokeWidth(2));

Polygon polygon2 = myMap.addPolygon(new PolygonOptions()
    .add(new LatLng(-37.81319, 144.96298), new LatLng(-31.95285, 115.85734),new LatLng(-20.95285, 105.85734),new LatLng(-21.95285, 117.85734),new LatLng(-37.81319, 144.96298))
    .strokeColor(Color.RED)
    .fillColor(Color.parseColor("#51000000")).strokeWidth(2));

答案 1 :(得分:0)

您可以使用此代码并使用以下链接查询类似的问题。我使用那个答案,它适用于我

mapClmbo = mMap.addMarker(new MarkerOptions()
    .position(colombo)
    .title("Colombo")
    .snippet("Population: 70,000")
    .icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow)));

How to create a custom-shaped bitmap marker with Android map API v2