User Agent でスマホかどうかを判定して、イベントを切り替えれば良いのだと思います。
こんな雰囲気かと。
/* User Agent でスマホかどうかを判断 */ function is_smartphone() { return /(iPhone|iPad|iPod|Android)/.test(navigator.userAgent); } ... // マーカー var marker = new google.maps.Marker({ ... }); // InfoWindow を表示するイベントを決める : mouseover or click var infowindow_open_event = 'mouseover'; if (is_smartphone()) { infowindow_open_event = 'click'; } // Marker に InfoWindow を表示する Listener を登録する // ↓ここ google.maps.event.addListener(marker, infowindow_open_event, function() { // このあたりはお好きなように var iw = new google.maps.InfoWindow({ ... }); iw.open(map, marker); });
User Agent でスマホかどうかを判定して、イベントを切り替えれば良いのだと思います。
こんな雰囲気かと。
/* User Agent でスマホかどうかを判断 */ function is_smartphone() { return /(iPhone|iPad|iPod|Android)/.test(navigator.userAgent); } ... // マーカー var marker = new google.maps.Marker({ ... }); // InfoWindow を表示するイベントを決める : mouseover or click var infowindow_open_event = 'mouseover'; if (is_smartphone()) { infowindow_open_event = 'click'; } // Marker に InfoWindow を表示する Listener を登録する // ↓ここ google.maps.event.addListener(marker, infowindow_open_event, function() { // このあたりはお好きなように var iw = new google.maps.InfoWindow({ ... }); iw.open(map, marker); });
ご回答ありがとうございます。
しばらく精進してみます。
当初のプログラムで動くようになりました。
ブラウザの古いキャッシュが残っていたのが原因と思われます。
a-kumaさん、どうもありがとうございました。
function is_smartphone() {
return /(iPhone|iPad|iPod|Android)/.test(navigator.userAgent);
}
// InfoWindow を表示するイベントを決める : mouseover or click
var infowindow_open_event = 'mouseover';
if (is_smartphone()) {
infowindow_open_event = 'click';
}
// mouseoverイベントを取得するListenerを追加
google.maps.event.addListener(marker, infowindow_open_event, function(){
infoWindow.setContent(html); //情報ウィンドウの内容
infoWindow.open(map,marker); //情報ウィンドウを表示
map.panTo(point); //マーカーを地図の中心位置に移動
});
こんなカンジでやりましたが、PCは反応しますがスマートフォンではだめでした。
ご回答ありがとうございます。
2016/09/13 21:35:04しばらく精進してみます。
当初のプログラムで動くようになりました。
2016/09/16 11:31:18ブラウザの古いキャッシュが残っていたのが原因と思われます。
a-kumaさん、どうもありがとうございました。