如何改变geojson结果的格式
How to change format of geojson result?
如果我这样做了:
function app(e) {
var $tar = e.target.getLatLngs();
alert($tar);
}
function onEachFeature(feature, layer) {
layer.on({
click: app
});
}
我得到一个警告:
LatLng(19.08348, -155.54211),
LatLng(18.91619, -155.68817),
LatLng(19.05939, -155.93665),
LatLng(19.33888, -155.90806),
LatLng(19.70294, -156.07347),
LatLng(19.81422...
但是我需要得到这样的格式:
[19.08348, -155.54211],
[18.91619, -155.68817],
[19.05939, -155.93665],
[19.33888, -155.90806],
[19.70294, -156.07347],
[19.81422...
如果只是一个格式问题,那么您可以简单地这样做:
function app(e) {
var $tar = e.target.getLatLngs();
var formattedTar = $tar.map(function(obj) { // Loops through each Latlng object
return [obj.lat, obj.lng]; // and returns an array instead
});
console.log(formattedTar);
}
更新:
如果你想打印数组,试试这个:
alert(JSON.stringify(formattedTar));
演示:JSFiddle
可以循环遍历元素数组并将它们压入一个新的数组(使用所需的格式)。参见的一种方法:
基于聊天更新
$(function() {
// Assuming a whole bunch of latlngs
var target = [];
// these would come from your original e.target.getLatLngs();
// I am just making some up for this demo
for (i = 0; i < 10; i++) {
var latlng = L.latLng(i, i);
target.push(latlng);
}
alert(target);
/* you only need the code from here on, right after your own alert(...) */
// will hold the newly formatted values
var newLatLng = [];
// convert to new format
/** UPDATED Based on chat comments */
$.each(target, function(index, value) {
if( value.length ){
$.each(value, function(ind, val) {
var latLngArr = [val.lat, val.lng];
newLatLng.push(latLngArr);
});
}else{
var latLngArray = [value.lat, value.lng];
newLatLng.push(latLngArray);
}
});
console.log(newLatLng);
alert(JSON.stringify(newLatLng));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://unpkg.com/leaflet@1.0.1/dist/leaflet.js"></script>
相关文章:
- 奇怪的Javascript结果
- Javascript(jQuery)给了我奇怪的结果
- JSONP请求返回结果,但也触发error_callback
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- Javascript,输出结果后页面不断刷新
- 这是使用html快照和谷歌获取的预期结果吗?SEO/SPA
- 将地理编码结果转换为php变量以发布到mysql数据库
- AngularJS/HTML/Bootstrap元素用于动态搜索结果
- JQuery:向多个匹配结果添加换行符的最简单方法
- 当查询不在displayField中时,引导Ajax Typeahead不显示结果
- webpack代码拆分了handlerbs文件——结果是文件很大
- JavaScript循环无法正确计算/显示结果
- 相同的RegExp返回不同的结果-第一次是正确的结果,第二次是null
- 如何使用传单pip插件与纯GeoJSON数据
- Node.js使用Series函数(模式?)实现流控制时出现意外结果
- 使用AJAX调用将GeoJSON数据拉入传单
- 试图将onChange函数作为道具传递给GrandChlidren,结果是TypeError:这是未定义的
- jQuery使用api获取typeform结果
- 根据条件检查数据库结果
- 如何改变geojson结果的格式