StyledMapTypeをmapTypesに適用し表示が変更されたのを確認したのですが、一部地域(具体的には韓国)では適用されません。下記
URLはキャプチャです。
調べてみてわかったことは、ある拡大率以上の地図画像は、参照しているURLのドメインが
http://mt1.gmaptiles.co.kr /
となっており、こちらのドメインで参照された画像はスタイルがうまく適用されていなということでした。
同座標の画像の参照先とスタイル用のパラメータを、http://mt0.googleapis.com/ へ変えてみたら、スタイルが適用されている
画像が表示されました。
現在、下記のように、mapのevent発生時に、該当するimgタグのsrcを置き換える方法で対処しておりますが、タイミングによっては差し替える
前の画像がチラチラとみえてしまい、あまりエレガントではないように思われます。
(jQueryを使用しているソースになります。)
var _map = new google.maps.Map(_element, myOptions);
google.maps.event.addListener(_map, 'center_changed',
replaceKoreaImage);
google.maps.event.addListener(_map, 'bounds_changed',
replaceKoreaImage);
google.maps.event.addListener(_map, 'idle', replaceKoreaImage);
function replaceKoreaImage() {
$('img').each(function() {
var j = $(this)
, src = j.attr('src')
, _x
, _y;
if (src.indexOf('gmaptiles.co.kr') !== -1) {
j.hide();
_x = src.match(/x=\d+/)[0].replace('=', '');
_y = src.match(/y=\d+/)[0].replace('=', '');
//予め作成していた画像に差し替えています。
src = '/common/img/map/' + _x + _y + '.png';
j.attr('src', src);
j.bind('load', function() {
var img = $(this);
img.unbind('load');
img.show();
});
}
});
}
恐らく不具合なのではと思うのですが、こちらの件に関して、なにか根本的な解決方法をご存知の方がいらっしゃいましたら、ご教授いただければ幸いです。