谷歌地图& Turf.js折线整合

时间:2017-09-08 06:04:32

标签: javascript google-maps google-maps-api-3 turfjs

我正在研究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>

2 个答案:

答案 0 :(得分:1)

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

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

polyline.setMap(map);

答案 1 :(得分:0)

我解决了,我只是没有看到它......

$.each(line.geometry.coordinates, function (key) {
    var wp = { lat: line.geometry.coordinates[key][1], lng: line.geometry.coordinates[key][0] }
    path.push(wp);
});