ねえ、
私はある種のジオコーダーを構築しているだけで、jsonマップをグルーヴィーなバックエンドにビームする必要があります。
このul構造をマップしようとしています:http : //jsfiddle.net/PJFVN/1/
<ul id="hiddenmap">
<li class="hidden" id="street">Westerwarft 2</li>
<li class="hidden" id="plz">25859</li>
<li class="hidden" id="city">Hallig Hooge</li>
<li class="hidden" id="country" value="" >DE</li>
<li class="hidden" id="lon" > 8.516472</li>
<li class="hidden" id="lat" >54.577993</li>
</ul>
次のような地図に
[{"street":"Westerwarft 2","plz":"25859","location":{"lat":"54.577993","lon":" 8.516472"},"country":"DE"}]
次のjsを使用します:
var map = $('#hiddenmap').map(function() {
var $item = $(this);
var loc = '{"lat":"'+$item.find('li#lat').text()+'","lon":"'+$item.find('li#lon').text()+'"},';
return {
street: $item.find('li#street').text(),
plz: $item.find('li#plz').text(),
location:loc ,
country: $item.find('li#country').text()
};
}).get();
var v = JSON.stringify(map);
alert(v);
しかし、フィドルで見ることができるように、私の汚い試みは捨てられます
[{"street":"Westerwarft 2","plz":"25859","location":"{\"lat\":\"54.577993\",\"lon\":\" 8.516472\"},","country":"DE"}]
そのため、マップ内のロケーションオブジェクトを取得するためのネイティブな方法が必要であり、見方を変えると、より多くのアドレスをマップに参加させる必要があります。
そうする方法はありますか?
現在、私はハードコアで自分自身を繰り返しているので、次のようにひどく見えるすべての異なるケースに対して手動でマップを構築します:
var String = '['+'{'+'"fax":'+'"'+fax1+'"'+','+'"genau":'+genau1+','+'"land":'+'"'+land1+'"'+','+'"location": {'+'"lon":'+lon1+','+'"lat":'+lat1+'},'+'"notruf":'+'"'+notruf1+'"'+','+'"ort":'+'"'+ort1+'"'+','+'"plz":'+'"'+plz1+'"'+','+'"strasse":'+'"'+strasse1+'"'+','+'"telefon":'+'"'+telefon1+'"},{'+'"fax":'+'"'+fax2+'"'+','+'"genau":'+genau2+','+'"land":'+'"'+land2+'"'+','+'"location": {'+'"lon":'+lon2+','+'"lat":'+lat2+'},'+'"notruf":'+'"'+notruf2+'"'+','+'"ort":'+'"'+ort2+'"'+','+'"plz":'+'"'+plz2+'"'+','+'"strasse":'+'"'+strasse2+'"'+','+'"telefon":'+'"'+telefon2+'"}]';
私はこれを取り除く必要があります
ヒントを事前に感謝します