Openlayersの底図としてKMLを使用します.
1656 ワード
最近のプロジェクトは地図の精度を要求しないので、Geoserverを構築する必要がありません.Openlayersでベース図をロードして、比較してみました.KML形式を使って、shpからKMLに切り替える方法を探しています.
http://arcscripts.esri.com/details.asp?dbid=14273にダウンロードします Export to KML 2.54のスクリプトは、ダウンロード後にインストールされ、arcgis(v 9.3)にGoogle Earthのアイコンが表示されるボタンが画面に浮遊し、実行後にレイヤーを選択して変換されます.
Vector layerはOpenlayersの中でoverlayとしてしか使えません.baselayerとしてはいけません.空白のImage layerを追加してbaselayerとして、Vector layerをロードします.
コードの例:
PS:Esri公式サイトのArcScripts欄には実用的な脚本がたくさんあります.必要な時に検索してもいいです.力が節約できるかもしれません.
添付:中国地図省境省都
http://arcscripts.esri.com/details.asp?dbid=14273にダウンロードします Export to KML 2.54のスクリプトは、ダウンロード後にインストールされ、arcgis(v 9.3)にGoogle Earthのアイコンが表示されるボタンが画面に浮遊し、実行後にレイヤーを選択して変換されます.
Vector layerはOpenlayersの中でoverlayとしてしか使えません.baselayerとしてはいけません.空白のImage layerを追加してbaselayerとして、Vector layerをロードします.
コードの例:
function mapviewInit(){
var map = new OpenLayers.Map(
'mapdiv',
{maxResolution:0.703125,allOverlays: true}
);
var bou = new OpenLayers.Layer.Vector("KML", {
styleMap: new OpenLayers.StyleMap({
pointRadius: 3,
fillColor: "#ffcc66",
strokeColor: "#ff9933",
strokeWidth: 2
}),
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "kml/bou2_4l.kml",
format: new OpenLayers.Format.KML({
extractStyles: false,
extractAttributes: false,
maxDepth: 2
})
})
});
map.addLayer(bou);
map.setCenter(new OpenLayers.LonLat(112,36),8,false,true);
}
PS:Esri公式サイトのArcScripts欄には実用的な脚本がたくさんあります.必要な時に検索してもいいです.力が節約できるかもしれません.
添付:中国地図省境省都