2012-01-25 6 views
1

アイデアはリストからすべてのフォースクエアの場所をGoogleマップに読み込み、他の人が「四角形のボタンに保存」をクリックすることで自分のリストに追加できるようにすることでした。しかし、私はGoogle Mapsのマーカーの中でそれらを使用しようとしたときにいくつかの問題に遭遇しました。Foursquare Googleマップのマーカーボタンを保存しますか?

あなたがFoursquare(https://foursquare.com/business/brands/offerings/savetofoursquare)から使用するスクリプトは、Google mapsのマーカーの中に置かれているときは「四角形のボタンに保存」のリンクが見つからないようです。リンクをクリックするとライトボックスには表示されませんが、新しいページに表示されます。私はいくつかのCSSでボタンをスタイルすることができます。しかし、ライトボックスは別の話ですが、私はそれを開くことができますが、どのようにそれを閉じるのか分かりますか?

Googleマップを使用せずに1ページに[四角形のボタンに保存]をテストすると、場所を保存した後にライトボックスが自動的に閉じます。しかし、私はあなたがマーカーから1つを開いた場合にそれを再び閉じるときを検出する方法があるとは思わない。

「正方形に保存」ボタンがスクリプトによって検出される最初の場所。誰もが "正方形のボタンに保存"をGoogleマップマーカーで動作させることを試みたことはありますか?すべてのヒントは歓迎です:)

私はここに何を意味するか見ることができますhttp://tijmensmit.com/foursquare/ボタンはunstyledであり、ライトボックスもありません。

答えて

0

私は同じ問題がありました。

はそれが本当にDOM準備で何をするかを調べるために https://foursquare.com/business/brands/offerings/savetofoursquare

Unminifyフォースクエアのwidget.jsのようFoursquareのSDKを含めます。ここ は、フォースクエアが実際に何をするかです:

go: function (a) { 
    a = g.findMarkers(a); 
    e.each(a, function (a) { 
     var c = g.markerConfig(a), 
     b = g.instance(c); 
     "false" == c.replaceButton ? b.attach(a) : b.replace(a) 
    }) 
}, 

は独自の関数を書く:

// My function to replace "new" Foursquare save buttons 
// @param e : <a class=fourSq-widget> element 
function myFoursquareReplaceSave(e) { 
    if (typeof e != "undefined") { 
     var f = window.fourSq.widget.Factory; 
     var c = f.markerConfig(e); 
     var b = f.instance(c); 
     "false" == c.replaceButton ? b.attach(e) : b.replace(e); 
    } 
} 

は、最後に機能新しいGMapのインフォボックスが作成されるたびに呼び出します。 何かのように:

// t is the Infobox (a google.maps.OverlayView), 
// div is the <div> element (the content) 
// (using jquery) 
myFoursquareReplaceSave($(t.div).find('.fourSq-widget').get(0)); 

私は、情報ウィンドウのためのdomreadyリスナーをテストしていません: https://stackoverflow.com/a/5505179/229088

関連する問題