0

我有一個從當地geoJSON文件加載標記的地圖。這在我測試過的所有瀏覽器(FF,Chrome,Safari,Opera,IE10,IE11)中都能正常工作,但在IE9中卻沒有。來自geoJSON的Mapbox標記沒有出現在IE9中

我在沒有geoJSON(黃色總線標記)的地圖上添加了一個標記,它在IE9中顯示正常。

下面是相關代碼:http://nomacorc.cuberishosting.com/purchase-test/

// set up mapbox 
    var map = new L.mapbox.map('map', '########', { 
     tileLayer: { 
      detectRetina: true, 
      minZoom: 2 
     }, 
     zoomControl: false 
    }); 

    // marker without geoJSON 
    L.marker([-37.9, -77], { 
     icon: L.mapbox.marker.icon({ 
      'marker-size': 'large', 
      'marker-symbol': 'bus', 
      'marker-color': '#fa0' 
     }) 
    }).addTo(map); 

    // markers with geoJSON 
    var geoJsonData = L.mapbox.featureLayer().loadURL('http://nomacorc.cuberishosting.com/wp-content/themes/nomacorc/map-lib/sellers-locations.php').addTo(map); 

你可以看到一個工作的例子。

這裏是對以GeoJSON文件的鏈接:http://nomacorc.cuberishosting.com/wp-content/themes/nomacorc/map-lib/sellers-locations.php

的GeoJSON的自身出現在http://geojsonlint.com/

+0

這是最接近類似的問題,我已經找到了,但由於單黃總線標記渲染,我不認爲這是在IE9中的錯誤這種情況下:http://gis.stackexchange.com/questions/52452/geojson-wont-show-in-ie-but-works-fine-in-ff – isabisa 2014-09-12 14:42:18

回答

1

看起來像是在loadURL函數中調用JSON的方式。我把與AJAX的JSON修復它,像這樣:

// url to file with geojson data 
    var url = 'http://nomacorc.cuberishosting.com/wp-content/themes/nomacorc/map-lib/sellers-locations.php'; 

    // load geojson file 
    $.getJSON(url, function(data) { 

     var featureMarkers = L.mapbox.featureLayer(data, {sanitizer: function(string) {return string;}}); 

     // The rest of my code here... 
    }); 
0

我沒有得到粘貼以GeoJSON到http://geojsonlint.com/時錯誤來驗證我:「無效GeoJSON的,數據而不是JSON可序列化。「

我爲什麼會出現這個錯誤的猜測是你在描述字段中也用雙引號括起來用雙引號引起來。如果你用單引號包裝描述,這可能會解決它(它還需要你用雙引號替換該字段中的其他單引號)。

+0

唉!我猜他們的網站必須有一個錯誤。只是嘗試在不同的瀏覽器,並確信它不驗證。我將雙引號更改爲單引號,並且現在進行了驗證,但標記仍然未在IE9中加載。 – isabisa 2014-09-12 15:04:51