jQueryモバイルとリーフレットを使ってモバイルアプリを開発しています。私は ajax を使用してサーバーからマーカー データを取得し、マップ上にマーカーを動的にプロットしています。$.each ループを使用して、サーバーから Json として返された各オブジェクトをループし、マーカーを生成しています。各マーカー ポップアップ内にアンカー要素を追加しています。ユーザーがアンカー要素をクリックすると、現在のページが新しいページにリダイレクトされ、lat、lon、stName、state などの情報がクエリ文字列を使用して次のページに渡されます。
コードは正常に機能し、すべての情報を含む新しいページにユーザーをリダイレクトしますが、モバイル ブラウザーはリダイレクト操作を実行するのに長い時間がかかります。クエリ文字列なしで新しいページにリダイレクトしようとしたとき、リダイレクト操作は迅速でした。
現在のページの情報を使用してこのリダイレクト操作を実行する効率的な方法はありますか? クエリ文字列を使用してページをリダイレクトするときに遅延が発生する理由を知っている人はいますか? リーフレットに bindClick イベントはありますか?
meta_data の構造は次のとおりです。
meta_data=[{elev:50, ll:[-90,29], name:"Baton Rouge"}, sids:[123,456,789], state:"LA"}, ...]
$.each(meta_data, function(ind, meta_obj){
marker=L.marker([meta_obj.ll[1], meta_obj.ll[0]]);
click_element='<a href ="http://storm.srcc.lsu.edu/mobile/climatedata.html?stId='+meta_obj.sids[0]+"&"+"lat="+meta_obj.ll[1]+"&"+"lon="+meta_obj.ll[0]+"&stName="+meta_obj.name+"&state="+meta_obj.state+'">Click Here For More Data</a>';
marker.bindPopup("<b>Station Name: </b>"+meta_obj.name+"<br />"+"<b>Station Id: </b>"+meta_obj.sids[0]+"<br />"+click_element);
marker.addTo(map);
});