0

まず、 Regionalkarten.comというウェブサイトをリメイクしてみました 。これは、ドイツのマップの発行元です。このページでは、Google API v2 を使用してカスタム マップを表示しています。

私の仕事は、ページを API v3 に更新することです。jQuery GoMap Plugin を見つけて使用しようとしましたが、カスタム マップをサポートしていないようです。

カスタム Map で Overly を定義しようとしました

var ehsTypeBOptions =
{
    getTileUrl: function(coord, zoom)
    {
        var x = coord.x;
        var y = coord.y;
        return "http://regionalkarten.com/_map/ehs_village_maps/is_maps/z"+zoom+"/"+coord.y+"/"+coord.x+".png";
    },
    tileSize: new google.maps.Size(256, 256),
};

そしてそれをマップにロードします:

map.overlayMapTypes.insertAt(0, new google.maps.ImageMapType(ehsTypeBOptions));

GoMap がなくても問題なく動作します。だから私は試しました:

$.goMap.overlayMapTypes.insertAt(0, new google.maps.ImageMapType(ehsTypeBOptions));

そして、それはうまくいきませんでした:(

GoMaps ウェブページと Google はあまり役に立ちません。カスタム マップをオーバーレイに読み込む必要があることに注意してください。私たちのマップはギャップレスではないため、オーバーレイの背後にある実際の G​​oogle マップが必要です。GoMap に関するアイデアや経験が得られたことを願っています。

ありがとうございました。

4

1 に答える 1

1

$.goMapネイティブインスタンスを返さgoogle.maps.Mapないため、そこでMaps-APIメソッドを使用することはできません。

google.maps.Map-instanceには、を介してアクセスできます$.goMap.map

それを超えて:私はこのライブラリを使用しないことをお勧めします。1年以来更新はありません。これはすべて、追加のライブラリなしで実行できます。

さらに重要なのは、作業を続ける前にImageMapType、これは適切なMapTypeではありません。これは、TileServerが完全な世界のタイルを提供していないように見えるためです。

ユーザーがパンまたはズームして、タイルが使用できないビューポート内の領域が表示されると、この領域は灰色のスペースとして表示されます。を使用してOverlay MapType、オーバーレイの背景画像をTileUrlに設定することをお勧めします(さらに、タイルが使用可能かどうかをチェックする条件を使用して、タイルサーバーへの不要な要求を減らすことができます)

于 2013-02-07T13:52:59.520 に答える