Php 多段线误差线

Php 多段线误差线,php,google-maps-api-3,xml-parsing,google-maps-markers,google-polyline,Php,Google Maps Api 3,Xml Parsing,Google Maps Markers,Google Polyline,大家好,我有一个谷歌地图,坐标是通过解析XML数据提取的。这个脚本基于econym的网站,我正在使用谷歌地图的V3。现在的问题是,我能够正确地显示标记,但多段线不是一条直线,而是从一个标记到另一个标记的直线,因此它看起来像一个不应该发生的多边形 <script type="text/javascript"> var select_html = ""; var gmarkers = []; var map = null; function creat

大家好,我有一个谷歌地图,坐标是通过解析XML数据提取的。这个脚本基于econym的网站,我正在使用谷歌地图的V3。现在的问题是,我能够正确地显示标记,但多段线不是一条直线,而是从一个标记到另一个标记的直线,因此它看起来像一个不应该发生的多边形

<script type="text/javascript"> 
var select_html = ""; 
      var gmarkers = []; 
      var map = null;

  function createMarker(latlng, name, html) {
        var contentString = html;
        var marker = new google.maps.Marker({
        position: latlng,
        map: map,
        zIndex: Math.round(latlng.lat()*-100000)<<5
       });

        google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(contentString); 
        infowindow.open(map,marker);
        });

        gmarkers.push(marker);

        return marker;
}

//function createPolyline

function initialize() { 

  var myOptions = {
    zoom: 16,
    center: new google.maps.LatLng(<?php echo $row['latitude']?>, <?php echo $row['longitude']?>),
    mapTypeControl: true,
    mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
    navigationControl: true,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }

  map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

  google.maps.event.addListener(map, 'click', function() {

    infowindow.close();

    });



  // Read the data from 100.xml

  downloadUrl("phpsqlajax_genxml.php?id=<?= $_GET['lgid']?>", function(doc) {
    var xmlDoc = xmlParse(doc);
    var markers = xmlDoc.documentElement.getElementsByTagName("marker");
    var path = [];
    for (var i = 0; i < markers.length; ++i) {
      var lat = parseFloat(markers[i].getAttribute("lat"));
      var lng = parseFloat(markers[i].getAttribute("lng"));
      var point = new google.maps.LatLng(lat,lng);
      var html = markers[i].getAttribute("html");
      var label = markers[i].getAttribute("label");
      var marker = createMarker(point,label,html);

   path.push(marker.position);   
    }
    var polyline = new google.maps.Polyline({     
                    path: path,     
                    strokeColor: "#FF0000"
    });    
    polyline.setMap(map);


  });
}



var infowindow = new google.maps.InfoWindow(

  { 

    size: new google.maps.Size(150,50)

  });

var select_html=“”;
var gmarkers=[];
var-map=null;
函数createMarker(latlng、name、html){
var contentString=html;
var marker=new google.maps.marker({
位置:latlng,
地图:地图,

zIndex:Math.round(latlng.lat()*-100000)我有一个类似的问题,它在做你所说的,它必须完全与事实有关,即航路点是无序的。反过来,由directionsRenderer显示的路线是自己回来的,而不是像它应该显示的那样显示。因此,我的建议是检查你的航路点的顺序nts。

您必须使用方向,如果您想要多段线,应在道路上。。。