我在 JS 中做错了什么?我需要每个元素的一个坐标,但不是全部
what am I doing wrong in JS? i need one coord to each element but not all
ajax 和 xml 解析器
$.ajax({
url: 'http://geocode-maps.yandex.ru/1.x/?geocode=43.2491,76.9198&sco=latlong&kind=house&results=7',//here get the XML wirh all adresses and coords
type: 'GET',
dataType: 'html',
success: function(d){
$("#message").html('');
var coord = $(d).find('pos').text();
$(d).find('name').each(function(){
$('#message').prepend("<div class='addresses' onClick='insert_adress($(this).text());'>"+$(this).text()+" и "+coord+"</div>"); //here it write to a box
})
}
});
这是示例 OJ JSSFIDLE
请尝试此 http://jsfiddle.net/cHJ6S/3/
...
$(d).find('GeoObject').each(function () {
var coord = $(this).find('pos').text();
var name = $(this).find('name').text();
$('#message').prepend("<div class='addresses' onClick='insert_adress($(this).text());'>"+name+" и "+coord+"</div>");
});
...
这是你想要的结果吗?
улица Муратбаева, 183 и 76.918695 43.249010
улица Муратбаева, 185 и 76.919100 43.248557
улица Муратбаева, 168 и 76.919692 43.248426
улица Карасай батыра, 108 и 76.920294 43.249496
улица Шагабутдинова, 103а и 76.920375 43.248991
улица Муратбаева, 166 и 76.919989 43.248761
улица Муратбаева, 164 и 76.919684 43.249214
我可以建议你使用 php 将 xml 转换为 json,然后将其发送到 js。
如果您已检查控制台,则会看到以下错误
未捕获的类型错误: 对象 76.919800 43.24910076.919684
43.24921476.919989 43.24876176.920375 43.24899176.920294 43.24949676.919692 43.24842676.919100 43.24855776.918695 43.249010没有方法"下一步"
此行是问题的原因。
var coord = $(d).find('pos').text().next(); //remove next will fix it
在 JSFiddle 中检查这一点
仅供参考:按 F12,检查控制台是否有任何错误。
而不是$(d).find('name'),
使用$(d).find('featuremember').each(function(){...}),
功能成员 - 表示对象,那么为什么不循环访问对象
然后使用内部循环
var pos = $($(this).find('pos')).text();
var name = $($(this).find('name')).text();
最后
$('someId').prepend(name + ' pos: ' + pos);
试试这个,
var coord = $(d).find('pos').text();
完整代码
$.ajax({
url: 'http://geocode-maps.yandex.ru/1.x/?geocode=43.2491,76.9198&sco=latlong&kind=house&results=7',
type: 'GET',
dataType: 'html',
success: function(d){
$("#message").html('');
var coord = $(d).find('pos').text();// pos text not its next element's text
$(d).find('name').each(function(){
$('#message').prepend("<div class='addresses' onClick='insert_adress($(this).text());'>"+$(this).text()+" и "+coord+"</div>");
});
}
});
小提琴
相关文章:
- 使用D3.js和GeoJson在地图上的某些坐标上设置一个小图像
- 如何创建一个谷歌地图地理坐标数组
- JS:给定一个x,y坐标列表,可以找到介于1,1和给定最大值之间的缺失坐标
- 我在 JS 中做错了什么?我需要每个元素的一个坐标,但不是全部
- 如何连续地将拉斐尔画布(包含一些对象)从一个坐标移动到另一个坐标再到其他坐标
- 使用 jQuery offset() 将绝对定位的 DIV 设置为另一个 DIV 的相同 y 坐标
- JS:显示一个无限长的坐标系统(网格)
- 将鼠标坐标从一个窗口大小转换为另一个窗口尺寸
- 创建一个Javascript对象来容纳用户'的地理位置坐标
- 矩形坐标投影到另一个矩形中
- 如何检查鼠标的Y坐标是否大于一个值
- 在html中的屏幕坐标(x,y)处选择一个单词
- 如何将谷歌地理位置的坐标传递给另一个函数
- 如果我有一个lat/lng我假设它在(0,0)那么我如何计算另一个lat/lng对的x, y坐标
- 如何找到如果一个坐标是在一个多边形在猫鼬节点js
- 如何从一个角度找到(x,y)坐标
- 使用jquery,我想把一个图像在另一个基于坐标
- 如何知道一个坐标是在多边形内还是在多边形外?PHP +谷歌地图+ JS
- 如何绘制一个矩形,其坐标存储在mysql数据库中
- 选择一个坐标为(x,y)的元素