2016-04-28 3 views
0

Я не могу загрузить файл JSON, который локально хранится в моей системе. Я использую следующий код Java Script, чтобы загрузить мой файл всякий раз, когда я его выполнить я получаю ошибку «неперехваченного InvalidValueError: не особенность или FeatureCollection»не удалось загрузить файл JSON, хранящийся локально в системе

var map; 
    function initMap() { 
    map = new google.maps.Map(document.getElementById('map'), { 
    center: {lat: -34.397, lng: 150.644}, 
    zoom: 8 
    }); 
    } 
    map.data.addGeoJson("test.geojson"); 

Я попытался, используя следующий метод, который работал для меня

var map; 
    function initMap() { 
    map = new google.maps.Map(document.getElementById('map'), { 
    center: {lat: -34.397, lng: 150.644}, 
    zoom: 8 
    }); 
    } 

    var JSON ={"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-83.53021556073881,40.30187345365667],[-83.53021555683246,40.30177280563904],[-83.53006258934602,40.30177280901812],[-83.53006259302536,40.301873457035754],[-83.53021556073881,40.30187345365667]]]},"properties":{"stroke":"#555555","stroke-width":2,"stroke-opacity":1,"fill":"#555555","fill-opacity":0.5,"name":"Shower Test Lab","styleUrl":"#rangecolour","styleHash":"7d00d790","description":"PolygonDescription <table border=\"3\"> </table>"}}]} 

    that.map.data.addGeoJSON(JSON); 

Я искал его раньше, но не удался загрузить его через локальный файл, который хранится в моем хранилище Eclipse SDK

+0

вы пробовали getJSON или Ajax – Learner

+0

Да я пытался использовать это также но это не помогло – sandeep

ответ

0

Попробуйте с абсолютным путем, а затем относительным путем ..

+0

Абсолютный путь вызовет ошибку XSS –

+0

Вы имеете в виду полный путь, в котором хранится файл C: \ Users \ nirmal \ workspac e \ com.test \ test.geojson " – sandeep

+0

Да, это сработало для меня. –

0

Это можно легко сделать с помощью JQuery или Ajax:

JQuery:

$.getJSON("C:\Users\nirmal\workspace\com.test\test.geojson", function(data) { 
    var items = []; 
    $.each(data, function(key, val) { 
    items.push("<li id='" + key + "'>" + val + "</li>"); 
    }); 

    $("<ul/>", { 
    "class": "my-new-list", 
    html: items.join("") 
    }).appendTo("body"); 
}); 

Ajax:

$.ajax({ 
dataType: "json", 
url: getAbsoluteUrl("C:\Users\nirmal\workspace\com.test\test.geojson"), 
data: data, 
success: success 
}); 
Смежные вопросы