我正在使用Bing Maps v8 API,试图将我自己的GeoJSON加载到Bing Maps上,如本例所示:https://www.Bing.com/API/Maps/sdkrelease/mapcontrol/isdk#GeoJSONReadObject+js
我正在成功地创建我的JSON(我已经使用Bing Maps拖放特性测试了它,并且我的所有点都显示在Map.https://bingmapsv8samples.azurewebsites.net/#GeoJSON%20Drag%20和%20Drop上。
我正在尝试让我的GeoJSON自动加载到一个映射上,但我收到一个JSON失败,我不确定原因。(我对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字符串的“Failure”警报。注意:如果我将GeoJSON硬编码为getGEOJSON函数的结果,我的所有点都会显示在地图上。我没有正确地阅读脚本中的JsonResult吗?
您的getGeoJson函数是异步的,所以它不返回任何东西,这个bing映射接收到一个要解析的空值,它只是忽略了这个空值,没有错误。在加载geojson时指定一个回调函数,当它响应时,然后读取它的值。以下是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 () {
getGeoJson(function(data){
var featureCollection = Microsoft.Maps.GeoJson.read(data, { polygonOptions: { fillColor: 'rgba(0, 255, 255, 0.3)' } });
for (var i = 0; i < featureCollection.length; i++) {
map.entities.push(featureCollection[i]);
}
});
});
function getGeoJson(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);
}
});
}
}
问题内容: 我正在尝试从无头CMS(Sanity.io)返回一些数据,但是我的React一直遇到错误。我已遵循此示例,但是现在出现错误 我的密码 关于我在做什么错的任何想法吗? 问题答案: 渲染组件时,可以将country定义为未定义或为null。确保它在初始渲染时是数组: 或者, 您可以将地图用于这样的国家/地区: 这样可以确保仅在有国家/地区时才运行地图。
问题内容: 我正在从这里使用出色的毒蛇库:https : //github.com/spf13/viper 我正在尝试读取hcl中的配置文件(尽管它也可能是JSOn或YAML文件),如下所示: 到目前为止,我的代码如下: 我遇到的最大问题是使用group选项。这可以是多个不同的组。 当我在使用中阅读它时,它似乎不起作用,所以我使用了标准函数。转储时,结果结构如下所示: 我使用反射时似乎是切片类型。
问题内容: 我在使用spring通过java阅读yaml时遇到问题。让我先显示代码 我的yaml文件: Spring上下文xml也具有以下内容: 现在,我的期望是,在我的春季测试应用程序运行期间(上下文xml来自我的测试资源,yaml也处于我的测试中),这些orders和requests值已设置,但它们为空。另外,请注意,除了使用@Value($ {…})注入的值之外,yaml中还有其他值,注入它
问题内容: 我正在按照本教程进行操作,并且在 将值从一个组件的状态传递到另一个组件 时遇到了一个问题。 当执行组件中的功能时,将引发错误。 什么会导致的是从路过的时候到? 问题答案: 首先,设置更安全的初始数据: 并确保您的ajax数据。 如果您按照上面的两个指示(如“ 演示”)操作,它应该可以工作。 更新:您可以仅使用条件语句包装.map块。
下面是我的GeoJson代码来读取文件并在必应地图上显示数据层。我想为GeoJson函数中的每个多边形/多边形找到质心,并为每个质心添加图钉。 当我尝试使用shapes[I].getCenter()查找中心时,它会抛出错误“shapes[I].getCenter不是函数”。 如何从文件中读取GeoJson时找到质心并添加pin?
包的类提供读取和写入图像的方法。使用OpenCV,可以读取图像并将其存储在矩阵中(如果需要,可在矩阵上执行转换)。之后可以将处理后的矩阵写入文件。 类的方法用于使用OpenCV读取图像。 以下是此方法的语法。 它接受一个参数(文件名),一个字符串类型的变量,表示要读取的文件的路径。 下面给出了使用OpenCV库读取Java图像的步骤。 第1步:加载OpenCV本机库 使用方法加载OpenCV本机库