現在、検索結果を表示するページがあります。ユーザーが結果をクリックすると、 ajaxを使用して詳細が取得され、ページに読み込まれます。これらの詳細には、Googleマップがあります。
以前は、詳細ページにコールバック付きのGmapsスクリプトがありました。しかし、ユーザーが複数の結果をクリックすると、Gmapsスクリプトが複数回挿入されるというこの問題に遭遇しました。
ここで、結果ページにスクリプトをロードし、詳細ページで必要なすべてのパラメーターを渡しながら初期化関数を呼び出します。しかし、undefined is not a function
エラーが発生します。
だから私の質問は:Gmapsスクリプト、コールバック、および2つのページ(結果と詳細)間のマップの非同期初期化をどのように構成するかです。
結果ページ
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&key=[key]"></script>
function initialize(params) {
var directionsService, directionsDisplay, map;
directionsService = new google.maps.DirectionsService();
directionsDisplay = new google.maps.DirectionsRenderer();
// your typical gmaps stuff
}
詳細ページ
<div id="map_canvas"></div>
initialize(params);