[戻る]
一括表示

備忘録 投稿者:マーシー 投稿日:2019/02/08(Fri) 16:36:54 No.943

yahoomap.htmlを改造して自分の使いやすくしました。
備忘録を投稿したいと思います。まずは先月のあにねこさんの回答から。

<デフォルトを航空写真にする>

ymap.drawMap(new Y.LatLng.fromString(param.lat, param.lng), param.zoom, 'MyTopographicLayerSet');
の行を変更して、
ymap.drawMap(new Y.LatLng.fromString(param.lat, param.lng), param.zoom, Y.LayerSetId.PHOTO);
とする

中心十字を表示 投稿者:マーシー 投稿日:2019/02/08(Fri) 16:39:07 No.944

<head>と</head>の間の適当な場所に次の文を入れる

var cross = null;
document.getElementById('crs').onchange = function() {
if (this.checked) {
cross = new Y.CenterMarkControl();
ymap.addControl(cross);
} else {
ymap.removeControl(cross);
cross.destroy();
}
};

(1)の文の前に(2)の部分を入れる。但し(1)(2)の文字は入れない

(1)<div style="float:left;margin-left:5px;"><input id="center" type="button" value="中心座標" /></div>

(2)<div style="float:left;margin-left:5px;"><input id="crs" type="checkbox" />中心十字</div>

アイコンとトラックの軌跡を別々に表示 投稿者:マーシー 投稿日:2019/02/08(Fri) 16:59:19 No.947

(1)アイコンとトラックのURLを別々に用意する
アイコンDataの名前を ○○_i.kml
トラックDataの名前を ○○_t.kml とする

(2) param.url = (param.url.match(/^https?:/) ? '' : baseurl) + param.url;
のあとに
var url_i = param.url;
var url_t = param.url.replace('_i.kml','_t.kml'); ’語尾を入れ替える
を追加する。

(3) var layer = new Y.GeoXmlLayer(param.url);
ymap.addLayer(layer);
icnlayer.execute();
の部分をアイコンとトラックを別々に書く
var icnlayer = new Y.GeoXmlLayer(url_i);
ymap.addLayer(icnlayer);
icnlayer.execute();

var trklayer = new Y.GeoXmlLayer(url_t);
ymap.addLayer(trklayer);
trklayer.execute();

(4)同様に
document.getElementById('gps').onchange = function() {
if (this.checked) {
ymap.addLayer(layer);
layer.execute();
} else {
ymap.removeLayer(layer);
}
};
の部分をアイコンとトラックを別々に書く
document.getElementById('trk').onchange = function() {
if (this.checked) {
ymap.addLayer(trklayer);
trklayer.execute();
} else {
ymap.removeLayer(trklayer);
}
};
document.getElementById('icn').onchange = function() {
if (this.checked) {
ymap.addLayer(icnlayer);
icnlayer.execute();
} else {
ymap.removeLayer(icnlayer);
}
};

(5)<div style="float:left;margin-left:5px;"><input id="gps" type="checkbox" checked="checked" />GPSデータ</div>
の代わりにに次の文を入れる
<div style="float:left;margin-left:5px;"><input id="trk" type="checkbox" checked="checked" />GPStrack</div>
<div style="float:left;margin-left:5px;"><input id="icn" type="checkbox" checked="checked" />Icon</div>

地理院地図から Yahoo地図に切替 投稿者:マーシー 投稿日:2019/02/09(Sat) 15:19:33 No.948

地理院地図のデータをそのまま維持しながらyahoo地図に切り替えるには、
(1)Yahoo地図のyahoomap.htmlを用意する。
 次の文をOpenLayersの<head><Script>の適当なところに入れる。

document.getElementById('yahoo').onclick = function() {
center = map.getCenter();
center.transform(proj_3857, proj_4326);
var lat1 = center.lat.toFixed(6);
var lon1 = center.lon.toFixed(6);
var zoom1 = map.getZoom();
var url1 = param.url;
var url2 = "yahoomap.html?";
url2 = url2.concat("lat=",lat1,"&lng=",lon1,"&zoom=",zoom1,"&url=",url1);
var width1 = window.innerWidth;
var height1 = window.innerHeight;
var box1 = "width=" + width1 + ",height=" + height1 + ",resizable=yes";
window.open(url2, '_blank', box1);

(2)次の文を<body><Form>の適当なところに入れる。
<div style="float:left;margin-left:25px;"><input style="color:red" id="yahoo" type="button" value="YahooMap" /></div>
};

- WebForum -