Web ページに Google マップを埋め込んでおり、カスタム イメージを使用してマーカーを作成したいと考えています。マーカーを追加するコードは次のとおりです。'map' は、Google マップ オブジェクトを表す変数です。
function addMarker(location) {
var image = new google.maps.MarkerImage("tree.gif", null, null, null, new google.maps.Size(16, 24));
marker = new google.maps.Marker({
position: location,
map: map,
icon: image
});
};
これは、IE 8、Chrome 25、Firefox 19、および Safari 5 (デスクトップ) で正常に動作します - マーカーが作成され、tree.gif 画像が表示されます。ただし、これは iOS 6 (iPad および iPhone) の Safari モバイルでは機能しません。
これは、次の場合に Safari モバイルで機能します。
...カスタム アイコンを削除します。デフォルトの Google マップ マーカー アイコン (赤い画鋲) が表示されます。
...他の画像ファイルへのリモート URL を使用します (例: http://somedomain.com/images/someimage.gif )
私は運が悪いので、SOFとGoogleグループのいたるところにいました。何か案は?
2013 年 3 月 12 日に追加:このサイトは公開されており、この動作を示しています (最終チェック時)。「マーク」ページから開始して GPS 位置にマーカーを投稿し、「マップ」ページをチェックしてマーカーが表示されるかどうかを確認します。ソース コードはGitHubにあります。問題は scripts/map.js ファイルにあります。
2013 年 3 月 15 日追加: 絞り込みました。私のページも HTML5 サーバー送信イベントを使用しています。上記の動作は、EventSource 接続が開いている場合にのみ発生します。ただし、この行をコメントアウトすると、マーカーは期待どおりに表示されます (前の段落のコードへのリンク)。
var source = new EventSource('../pickups');