これを行うにはもっと良い方法があるかもしれませんが、今のところ、この方法で行う必要があります。
次のように、入力フィールドでGoogleマップのジオコードを行っています。
<input id="geocomplete" type="text" placeholder="Type in an address" style="width:400px;" value="#url.address#" />
<input id="find" type="button" value="find" />
ジオコード フィールドが自動入力されていることに注意してください。通常、ユーザーは「検索」を押す前にこの値を手動で入力しますが、このファイルではユーザーがレコードを更新しているため、アドレスを自動入力しています。
次のコードを使用して [検索] ボタンをクリックすると、通常は入力された住所に基づいて Google マップが生成されます。これは、ユーザーが「検索」を押す前にアドレスを手動で入力するとうまく機能します。
<cfoutput>
タグに惑わされないでください。これはコールドフュージョン テンプレートであり、正常に動作します。
$(function(){
var address = '<cfoutput>#url.address#</cfoutput>' || "";
if(address.length != 0){
$("#find").trigger("click"); // doesn't work
/*$("#geocomplete").trigger("geocode");*/ // doesn't work either
}
$("#find").click(function(){
$("#geocomplete").trigger("geocode");
});
})
これは機能しません。何も起こらないようです。[検索] ボタンを手動でクリックすると、機能します。よくわかりませんが、ジオコード フィールドが手動で入力されていないためだと思います。その場合、どうすればよいですか?