//alert ();
//alert ('');
window.onload = initialize;
var markers = [];
//マップ表示
var ymap;
var glabel;
function initialize() {
////コントロール表示
mapboxgl.setRTLTextPlugin('js_x/mapbox-rtlplugin/vertical-text.js');
ymap = new mapboxgl.Map({
/* 地図を表示させる要素のid */
container: 'map',
/* 地図styleID。YOLPではLayerSetIdに相当する。*/
style: {
"version": 8,
"sources": {
"t_pale": {
"type": "raster",
"tiles": [
"https://cyberjapandata.gsi.go.jp/xyz/pale/{z}/{x}/{y}.png"
],
"tileSize": 256
}
},
"layers": [{
"id": "t_pale",
"type": "raster",
"source": "t_pale",
"minzoom": 0,
"maxzoom": 18
}]
},
/* 地図の初期緯度経度[lng,lat] */
center: [138.86002858074934,35.10361669437636],
/* 地図の初期ズームレベル */
zoom: 13,
maxZoom: 17.99,
minZoom: 4,
attributionControl: false
});
ymap.addControl(new mapboxgl.NavigationControl());
ymap.addControl(new mapboxgl.AttributionControl({ compact: false, customAttribution: '国土地理院' }));
var scale = new mapboxgl.ScaleControl({
maxWidth: 80,
unit: 'metric'
});
ymap.addControl(scale);
//イベント割付 地図移動時に再検索実行
ymap.on('moveend', map_click);
map_click();//初回検索実行
}// end function initialize
//一覧のアイコンクリック時に対象地物を中心にしラベルを表示する。
function moveTo(name,arg){
document.formMain.no_autref.value = 1;
ymap.setCenter(arg);
//ラベル描画(前回のものを消してから新しく表示する)
const class_name = document.getElementById('pop_rabel');
if(class_name !== null){
class_name.remove();
}
// ラベル作成
var el = document.createElement('div');
el.id = 'pop_rabel'
el.innerHTML=name;
el.className = 'pop_rabel';
var marker = new mapboxgl.Marker(el)
.setLngLat(arg)
.addTo(ymap);
}//end function moveto
function CvtLatLng(arg1,arg2) {
return [arg2,arg1];
}
//位置情報編集など設定用submit(地図の中心を引き渡す)
function getCenterPost(){
var YLL = ymap.getCenter();
document.formMain.lat.value = YLL.lat;
document.formMain.lon.value = YLL.lng;
var ly = ymap.getZoom();
document.formMain.layer.value = ly;
document.formMain.submit();
}
//条件設定用submit(地図の中心を引き渡す)
function getCenterPostdetail(){
if (!document.formMain.sc1.checked && !document.formMain.sc2.checked && !document.formMain.sc3.checked ) {
window.alert('詳細な絞込みは病院・診療所・歯科診療所が選択されている場合のみ設定できます。');
} else {
var YLL = ymap.getCenter();
document.formMain.lat.value = YLL.lat;
document.formMain.lon.value = YLL.lng;
var ly = ymap.getZoom();
document.formMain.layer.value = ly;
document.formMain.noredilect.value = '';
document.formMain.submit();
}//end if
}//end function
//地図移動時など、地物と一覧の再検索を行う
function map_click() {
if(document.formMain.sc1.checked){
sc1=1;
document.formPrint.sc1.value=1;
}else{
sc1=0;
document.formPrint.sc1.value=0;
}
if(document.formMain.sc2.checked){
sc2=1;
document.formPrint.sc2.value=1;
}else{
sc2=0;
document.formPrint.sc2.value=0;
}
if(document.formMain.sc3.checked){
sc3=1;
document.formPrint.sc3.value=1;
}else{
sc3=0;
document.formPrint.sc3.value=0;
}
if(document.formMain.sc4.checked){
sc4=1;
document.formPrint.sc4.value=1;
}else{
sc4=0;
document.formPrint.sc4.value=0;
}
if(document.formMain.sc5.checked){
sc5=1;
document.formPrint.sc5.value=1;
}else{
sc5=0;
document.formPrint.sc5.value=0;
}
if(document.formMain.sc6.checked){
sc6=1;
document.formPrint.sc6.value=1;
}else{
sc6=0;
document.formPrint.sc6.value=0;
}
if(document.formMain.sc7.checked){
sc7=1;
document.formPrint.sc7.value=1;
}else{
sc7=0;
document.formPrint.sc7.value=0;
}
if(document.formMain.sc8.checked){
sc8=1;
document.formPrint.sc8.value=1;
}else{
sc8=0;
document.formPrint.sc8.value=0;
}
if(document.formMain.sc9.checked){
sc9=1;
// document.formPrint.sc9.value=1;
}else{
sc9=0;
// document.formPrint.sc9.value=0;
}
// document.formMain.mayaku.value = 0;
marknum=document.formMain.marknum.value;
document.formPrint.marknum.value=document.formMain.marknum.value;
if(document.formMain.no_autref.value!=1){
// マップ上のオブジェクトを消す
if (markers!==null) {
for (var i = markers.length - 1; i >= 0; i--) {
markers[i].remove();
}
}
//ラベル削除(ラベルが作成されていた場合は削除する)
const class_name = document.getElementById('pop_rabel');
if(class_name !== null){
class_name.remove();
}
//新しい中心位置を取得
latlng = ymap.getCenter();
//地物(マーカー作成)
sendRequest(resp=cl_bk, '&lat_now='+latlng.lat+'&lon_now='+latlng.lng+'&sc1='+sc1+'&sc2='+sc2+'&sc3='+sc3+'&sc4='+sc4+'&sc5='+sc5+'&sc6='+sc6+'&sc7='+sc7+'&sc8='+sc8+'&sc9='+sc9+'&ss1='+''+'&ss2='+''+'&ss3='+''+'&mayaku='+''+'&layer='+'16'+'&marknum='+marknum, 'POST','lib/script1a.php',true,false);
//一覧表作成
sendRequest(resp=cl_bk2,'&lat_now='+latlng.lat+'&lon_now='+latlng.lng+'&sc1='+sc1+'&sc2='+sc2+'&sc3='+sc3+'&sc4='+sc4+'&sc5='+sc5+'&sc6='+sc6+'&sc7='+sc7+'&sc8='+sc8+'&sc9='+sc9+'&ss1='+''+'&ss2='+''+'&ss3='+''+'&mayaku='+''+'&marknum='+marknum, 'POST','lib/script1b.php',true,false);
//行政市町名取得
sendRequest(cl_bk3,'&lat_now='+latlng.lat+'&lon_now='+latlng.lng, 'POST','lib/script1c.php',true,false);
}
document.formMain.no_autref.value=0;
//全てのチェックボックスがONの場合のみすべてのチェックBOXをONにする
if (document.formMain.sc1.checked && document.formMain.sc2.checked && document.formMain.sc3.checked && document.formMain.sc4.checked && document.formMain.sc5.checked && document.formMain.sc6.checked && document.formMain.sc7.checked && document.formMain.sc8.checked ) {
document.formMain.allsc.checked = true; //チェックボックスをON
}else{
document.formMain.allsc.checked = false; //チェックボックスをOFF
}
}//end function map_click
function map_click_AllBox(check){ //チェックと同時にMAPを再検索する。
//全てのチェックボックスがONの場合のみ全てをOFFにする
if (document.formMain.sc1.checked && document.formMain.sc2.checked && document.formMain.sc3.checked && document.formMain.sc4.checked && document.formMain.sc5.checked && document.formMain.sc6.checked && document.formMain.sc7.checked && document.formMain.sc8.checked ) {
document.formMain.sc1.checked = false; //チェックボックスをOFF
document.formMain.sc2.checked = false; //チェックボックスをOFF
document.formMain.sc3.checked = false; //チェックボックスをOFF
document.formMain.sc4.checked = false; //チェックボックスをOFF
document.formMain.sc5.checked = false; //チェックボックスをOFF
document.formMain.sc6.checked = false; //チェックボックスをOFF
document.formMain.sc7.checked = false; //チェックボックスをOFF
document.formMain.sc8.checked = false; //チェックボックスをOFF
// document.formMain.sc9.checked = false; //チェックボックスをOFF
document.formMain.allsc.checked = false; //チェックボックスをOFF
sc1=0;sc2=0;sc3=0;sc4=0;sc5=0;sc6=0;sc7=0;sc8=0;
document.formPrint.sc1.value=0;
document.formPrint.sc2.value=0;
document.formPrint.sc3.value=0;
document.formPrint.sc4.value=0;
document.formPrint.sc5.value=0;
document.formPrint.sc6.value=0;
document.formPrint.sc7.value=0;
document.formPrint.sc8.value=0;
// document.formPrint.sc9.value=0;
}else{
document.formMain.sc1.checked = check; //チェックボックスをON
document.formMain.sc2.checked = check; //チェックボックスをON
document.formMain.sc3.checked = check; //チェックボックスをON
document.formMain.sc4.checked = check; //チェックボックスをON
document.formMain.sc5.checked = check; //チェックボックスをON
document.formMain.sc6.checked = check; //チェックボックスをON
document.formMain.sc7.checked = check; //チェックボックスをON
document.formMain.sc8.checked = check; //チェックボックスをON
// document.formMain.sc9.checked = check; //チェックボックスをON
document.formMain.allsc.checked = check; //チェックボックスをON
sc1=1;sc2=1;sc3=1;sc4=1;sc5=1;sc6=1;sc7=1;sc8=1;
document.formPrint.sc1.value=1;
document.formPrint.sc2.value=1;
document.formPrint.sc3.value=1;
document.formPrint.sc4.value=1;
document.formPrint.sc5.value=1;
document.formPrint.sc6.value=1;
document.formPrint.sc7.value=1;
document.formPrint.sc8.value=1;
// document.formPrint.sc9.value=1;
}
marknum=document.formMain.marknum.value;
document.formPrint.marknum.value=document.formMain.marknum.value;
if(document.formMain.no_autref.value!=1){
// マップ上のオブジェクトを消す
if (markers!==null) {
for (var i = markers.length - 1; i >= 0; i--) {
markers[i].remove();
}
}
//新しい中心位置を取得
latlng = ymap.getCenter();
//地物(マーカー作成)
sendRequest(resp=cl_bk, '&lat_now='+latlng.lat+'&lon_now='+latlng.lng+'&sc1='+sc1+'&sc2='+sc2+'&sc3='+sc3+'&sc4='+sc4+'&sc5='+sc5+'&sc6='+sc6+'&sc7='+sc7+'&sc8='+sc8+'&sc9='+sc9+'&ss1='+''+'&ss2='+''+'&ss3='+''+'&mayaku='+''+'&layer='+'16'+'&marknum='+marknum, 'POST','lib/script1a.php',true,false);
//一覧表作成
sendRequest(resp=cl_bk2,'&lat_now='+latlng.lat+'&lon_now='+latlng.lng+'&sc1='+sc1+'&sc2='+sc2+'&sc3='+sc3+'&sc4='+sc4+'&sc5='+sc5+'&sc6='+sc6+'&sc7='+sc7+'&sc8='+sc8+'&sc9='+sc9+'&ss1='+''+'&ss2='+''+'&ss3='+''+'&mayaku='+''+'&marknum='+marknum, 'POST','lib/script1b.php',true,false);
//行政市町名取得
sendRequest(cl_bk3,'&lat_now='+latlng.lat+'&lon_now='+latlng.lng, 'POST','lib/script1c.php',true,false);
}
document.formMain.no_autref.value=0;
}//end function map_click_AllBox
//地物(マーカー表示スクリプト流しこみ)
function cl_bk(oj)
{
var res = decodeURIComponent(oj.responseText)
res = res.split('<input type="text" name="ok" value="">')
res = res.join('')
eval(res);
}
//一覧表表示
function cl_bk2(oj)
{
var res2 = decodeURIComponent(oj.responseText)
res2 = res2.split('<input type="text" name="ok" value="">')
res2 = res2.join('')
document.getElementById("address_data").innerHTML=res2
}
//行政情報表示
function cl_bk3(oj)
{
var res3 = decodeURIComponent(oj.responseText)
res3 = res3.split('<input type="text" name="ok" value="">')
res3 = res3.join('')
if (res3) {
document.getElementById("gyousei_data").innerHTML=res3
}
}