私はこの例のようにBing Mapsの上に私自身にGeoJSONをロードしようと、Bing MapsのV8のAPIで働いています:https://www.bing.com/api/maps/sdkrelease/mapcontrol/isdk#geoJsonReadObject+JSBings地図 - 読むにGeoJSON
私は成功した私のJSONを作成しています(私が使用してそれをテストしていますhttps://bingmapsv8samples.azurewebsites.net/#GeoJson%20Drag%20and%20Drop
GeoJSONがマップに自動的にロードされるようにしようとしていて、JSONのエラーが発生していますが、わかりません.Bing Mapsのドラッグアンドドロップ機能とすべてのポイントがマップに表示されます。なぜなら(私はGeoJSON/JSONの新機能です)
Javascript:
function loadMapScenario() {
var map = new Microsoft.Maps.Map(document.getElementById('myMap'), {
credentials: 'KEY',
center: new Microsoft.Maps.Location(32.560116, -117.057889),
zoom: 5
});
Microsoft.Maps.loadModule('Microsoft.Maps.GeoJson', function() {
var featureCollection = Microsoft.Maps.GeoJson.read(getGeoJson(), { polygonOptions: { fillColor: 'rgba(0, 255, 255, 0.3)' } });
for (var i = 0; i < featureCollection.length; i++) {
map.entities.push(featureCollection[i]);
}
});
function getGeoJson() {
$(function (callback) {
var data;
$.ajax({
type: "POST",
url: "/TD/PatGeoJSON",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert("Hello: " + response.responseText.data)
data = response.RepsonseText;
callback(data)
},
failure: function (response) {
alert("Failure: " + response.responseText);
},
error: function (response) {
alert("Failure: " + response.responseText);
}
});
});
}
}
コントローラー:
[HttpPost]
public JsonResult PatGeoJSON(string parent)
{
JObject jsondata = JObject.FromObject(new
{
type = "FeatureCollection",
features = from p in pList
select new
{
type = "Feature",
geometry = new Geometry
{
type = "Point",
coordinates = new double?[] { p.GeoLocation.Longitude, p.GeoLocation.Latitude }
},
properties = new Properties
{
MemberName = p.MemberName,
/// etc...
}
}
});
return Json(jsondata, JsonRequestBehavior.AllowGet);
}
私の結果は、現在、JSON文字列と "失敗" の警告です。注:getGEOJSON関数の結果としてGeoJSONをハードコードすると、すべてのポイントがマップに表示されます。私のスクリプトでJsonResultを正しく読んでいないのですか?
変更 'データ= response.RepsonseTextは' – Shyju
はコメントをありがとうございました。今私は失敗を参照してください:[オブジェクトのオブジェクト]ではなく、失敗+ JSONの文字列.... – Daniela