0

私はGoogleマップを使用していて、マップ上にポリゴンを作成しようとしていますが、何らかの理由でGoogleはポリゴンのないマップを提供してくれます

コード:

    <script type="text/javascript">
  var map;
  var infoWindow;
  var sandCoodrs;

function initialize() {


  var myLatLng = new google.maps.LatLng(-26, 28);
  var mapOptions = {
    zoom: 10,
    center: myLatLng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };

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

  var sandtonCoords = [];

//何らかの理由で、この時点以降、firebug はコードにステップ インせず、sandtonCoords は null のままであり、したがってポリゴンはありません

  jQuery.get('http://localhost/magnetic/Main.txt', function(data) 
    {
        var StringData = data;
        StringData.trim();
        var MainArray = data.split(",");
        var length = MainArray.length;
        for(k=0;k<length;k++)
        {
            var StringCoords = MainArray[k];
            var LatLongArray = StringCoords.split(" ");
            var Lat = parseFloat(LatLongArray[0]);
            Lat.trim();
            var Long = parseFloat(LatLongArray[1]);
            Long.trim();
            sandtonCoords.push(new google.maps.LatLng(Lat,Long));
        }
    });

andton = new google.maps.Polygon({
    paths: sandtonCoords,
    strokeColor: "#FF0000",
    strokeOpacity: 0.8,
    strokeWeight: 3,
    fillColor: "#FF0000",
    fillOpacity: 0.35
  });

  sandton.setMap(map);

  // Add a listener for the click event
  google.maps.event.addListener(sandton, 'click', showArrays);

  infowindow = new google.maps.InfoWindow();
}`
4

1 に答える 1

0

LatLongArray は文字列の配列です。緯度と経度は数値であり、型変換は自動ではありません。したがって:

var Lat = parseFloat(LatLongArray[0]);
var Long = parseFloat(LatLongArray[1]);

ところで、Main.txt のペアが [lon lat] ではなく [lat lon] であることを確認してください。

于 2012-09-02T16:17:33.827 に答える