私は関数内にマーカーを作成しましたが、マップ上に接続されていないページ上のイベントに基づいてマーカーを表示/非表示にする必要があります。私は "marker1.setVisible(true);を使ってみました。イベント内では、私はエラー "マーカー1は定義されていません"を取得します。私がそれを参照できる別の方法はありますか、あるいは何とかマーカーを世界的に利用可能にすることはできますか?外部イベントに基づいてマーカーを表示/非表示にする
ご協力いただければ幸いです。 Andrew。
私は関数内にマーカーを作成しましたが、マップ上に接続されていないページ上のイベントに基づいてマーカーを表示/非表示にする必要があります。私は "marker1.setVisible(true);を使ってみました。イベント内では、私はエラー "マーカー1は定義されていません"を取得します。私がそれを参照できる別の方法はありますか、あるいは何とかマーカーを世界的に利用可能にすることはできますか?外部イベントに基づいてマーカーを表示/非表示にする
ご協力いただければ幸いです。 Andrew。
marker1をグローバル変数として宣言します。 "関数の外で宣言された変数はGLOBALになります。 グローバル変数にはグローバルスコープがあります:Webページ上のすべてのスクリプトと関数がアクセスできます。
何かのように:
var marker1;
function setMarker(){
//....
marker1 = new google.maps.Marker({map: map,.....})
//....
}
は、使用できるようになる "marker1.setVisible(真の);"あなたのスクリプトのどこかに。
お返事ありがとうございます。私は関数の外でmarker1を宣言しましたが、関数内から "marker1.setVisible(true)"を使用すると、 "Uncaught TypeError:未定義のプロパティ 'setVisible'を読み取ることができません。 – user2679016
関数内の他の場所に "marker1 = ...."の代わりに "var marker1 = ...."を使用しているかどうか確認してください。 – ReFran
ありがとう、それは恥ずかしいほど簡単です。 – user2679016
"関数内にマーカーを作成しました" ... "marker1は定義されていません" - マーカーを作成するコードを入力します。コードのコード部分が定義されていないと判断した場合は、そこから開始する必要がありますが、これを判断するには完全なコードを確認する必要があります。 – samiles