できると思いますが、設定が難しいです。
Mapnik を使用して、独自の openstreetmap タイルをレンダリングできます。ベクターソースに基づいているため、さらにズームインできます。
または、ベクター レイヤー (これは SVG または VML になります) または静的な画像レイヤーを追加し、これを十分に高いズームレベルでのみ表示することもできます。ただし、ベース レイヤは OSM または Google マップであるため、マップはベース レイヤの最大ズーム レベルを超えて拡大することはできません。
あなたができることは、デフォルトの OpenLayers.Layer.OSM レイヤーをオーバーライドし、最大ズーム レベルを高く設定し (これは良い方法ではありません)、高いズームレベルでの OSM タイル画像のフェッチを停止し、カスタム動作を追加することです (タイルを独自のサーバーを使用するか、ベクター レイヤー オプションを使用します)。クラス階層のどこかで適切なメソッドをオーバーライドする必要があります ( OpenLayers.Layer.OSM
extends OpenLayers.Layer.XYZ
extendsOpenLayers.Layer.Grid
など)。
OpenLayers.Layer.MyOSMLayer = OpenLayers.Class(OpenLayers.Layer.OSM, {
initialize: function(name, options) {
options = OpenLayers.Util.extend({
numZoomLevels: 19 + 4,
}, options);
var newArguments = [name, url, options];
OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
},
// @override from XYZ
getURL: function (bounds) {
var xyz = this.getXYZ(bounds);
if ( xyz.z > 19 ) { // override url on higher zoomlevel
return "http://myserver/white.png";
}
// else default behaviour: super.getUrl()
return OpenLayers.Layer.OSM.prototype.getURL.apply(this, [bounds]);
},
CLASS_NAME: "OpenLayers.Layer.MyOSMLayer"
})