-1

我正在研究一个示例 google maps 和 turf js 集成。我添加了带有 GeoJson 数据的行。附加了工作片段。但我想从草皮线位置创建一条折线。

for (var j = 0; j < line.geometry.coordinates.length; j++) {
    var wp = new google.maps.LatLng(line.geometry.coordinates[j][1], line.geometry.coordinates[j][0])
    path.push(wp);
}

我尝试创建一条路径,然后根据这条路径创建我的折线,但无法从草皮线阵列中创建一条路径。

有什么想法我该怎么做?

提前致谢!

var path = [];
		var map = new google.maps.Map(document.getElementById('map'), {
		  zoom: 2,
		  maxZoom: 8,
		  minZoom: 1,
		  center: {
		    lat: 0,
		    lng: -180
		  },
		  streetViewControl: false,
		  mapTypeId: google.maps.MapTypeId.ROADMAP
		});

var line = {
    "type": "Feature",
    "properties": { "line": "on" },
    "geometry": {
      "type": "LineString",
      "coordinates": [
        [-122.214, 37.772],
    [-157.821, 21.291],
    [178.431, -18.142],
    [153.027, -27.467]
      ]
    }
  };
     map.data.addGeoJson(line);
     
     
     
    var point = turf.point([185.431, -4.542]);

		var marker = new google.maps.Marker({
		  position: new google.maps.LatLng(point.geometry.coordinates[1], point.geometry.coordinates[0]),
		  map: map,
		});
html,
body,
#map {
  height: 100%;
  width: 100%;
  padding: 0px;
  margin: 0px;
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<script src="https://npmcdn.com/@turf/turf@4.7.2/turf.min.js"></script>
<div id="map"></div>

4

2 回答 2

1

您需要创建一条折线并将其添加到地图中:

var polyline = new google.maps.Polyline({
    path: path
});

polyline.setMap(map);
于 2017-09-08T07:31:46.987 回答
0

解决了,就是没看到。。。

$.each(line.geometry.coordinates, function (key) {
    var wp = { lat: line.geometry.coordinates[key][1], lng: line.geometry.coordinates[key][0] }
    path.push(wp);
});
于 2017-09-08T15:31:34.527 回答