ASP.NETのWebAPIをサーバーに配置したらエラー

Windows2008R2で稼動しているASP.NETで作成したWebサービスをWindows2012R2に配置したら以下のエラーが発生。

原因は.NET Frameworkのバージョンととweb.config

WEBサービスは.NET Framework3.5

Windows2008R2ではasp.net2.0で動作
※.Net Framework 3.5はasp.net2.0対応

Windows2012R2ではasp.net4.0で動作させていた

.NET Framework3.5の環境で作成されたWebサービスのweb.configの一部のエントリがmachine.configと重複するため削除する必要がある。

POSTでデータが転送できない

POSTでデータが転送されない
スマホ用のサイトを作成しログイン画面を作成。
しかし画面上で入力した値がPOSTでとれない。
今更・・・?
頭がおかしいのか?と思ったが・・・
jQuery Mobileを作成した時はFORM属性にdata-ajax=”false”をつけないといけないとは

jQuery Mobileの役立つサイトメモ

jQuery Mobile 本家

jQuery Mobile フリップスイッチを設置する

要素が見えたタイミングでイベントを発生させるjQueryプラグイン

jQueryMobileのデフォルトのスタイルを解除する方法

How To Refresh New Div Content in Jquery Mobile 1.4.5

スクロール時に追加的にコンテンツを読み込むには?

jQuery Mobile ヘッダーを設置する

jQuery Mobileページでアイコン付きのボタンを配置するには?

jQuery Mobile ボタンを設置する

jQuery Mobileページにボタンを配置するには?

jQuery Mobile ポップアップの利用例jQuery Mobileのテーマを設定(&ThemeRollerによる自作テーマ作成)するには?

jQueryのセレクタ解説

jQueryの基本 – $(document).ready

jQuery Mobileのリストビューで動的に次画面を生成する

jQuery Mobile ポップアップの利用例

jQuery Mobile さまざまなスタイルのリスト例

jQuery mobileのスタイルをあてたコントロールが表示されない

スクロールするDIVにjQuery Mobileのスタイルをあてたcheckboxを表示

最初は正しく表示されている

スクロールするとなぜか一番下が表示されない

再度一番上を確認すると表示されない

ちなみにjQuery Mobileのスタイルをあてないcheckboxは問題ない

再描画の問題なのか?DOMのキャッシュの問題なのか?

DIVのスタイルから以下を外すと表示されない問題は解決
[code]
-webkit-overflow-scrolling: touch
[/code]

Leaflet DrawのMarker登録機能をToolbarを使用せずに呼び出す

以下のコードを呼び出し

[code]
new L.Draw.Marker(map, drawControl.options.marker).enable();
[/code]

Leafletにユーザーコントロールを追加

ユーザーコントロール:ourCustomControl を作成してmapに登録。
ちなみにユーザーコントロールのクリックイベントが発生するとMAPにもイベントが伝搬してしまうので、
クリックイベントではe.stopPropagation();を読んでMAPにイベントだ伝搬することを停止。

[code]
var ourCustomControl = L.Control.extend({
options: {
position: ‘topleft’
//control position – allowed: ‘topleft’, ‘topright’, ‘bottomleft’, ‘bottomright’
},
onAdd: function (map) {
var container = L.DomUtil.create(‘div’, ‘leaflet-bar leaflet-control leaflet-control-custom’);
container.style.backgroundColor = ‘white’;
container.style.width = ’30px’;
container.style.height = ’30px’;
container.onclick = function(e){
e.stopPropagation();
console.log(‘buttonClicked’);
//drawControl.options.draw = true;
new L.Draw.Marker(map, drawControl.options.marker).enable();
}
return container;
},
});

map.addControl(new ourCustomControl());
[/code]

参考Creating custom control button in leaflet

Leaflet Draw

LeafLet DrawはLeaflet上でFeatureを登録編集するプラグイン

GITHUBのURL
[code]
https://github.com/Leaflet/Leaflet.draw
[/code]

基本的な使い方
githubよりSRC以下をダウンロードしてリンク
[code]
<script src="../lib/leafret.draw/src/Leaflet.draw.js"></script>
<script src="../lib/leafret.draw/src/Leaflet.Draw.Event.js"></script>

<script src="../lib/leafret.draw/src/Toolbar.js"></script>
<script src="../lib/leafret.draw/src/Tooltip.js"></script>

<script src="../lib/leafret.draw/src/ext/GeometryUtil.js"></script>
<script src="../lib/leafret.draw/src/ext/LatLngUtil.js"></script>
<script src="../lib/leafret.draw/src/ext/LineUtil.Intersect.js"></script>
<script src="../lib/leafret.draw/src/ext/Polygon.Intersect.js"></script>
<script src="../lib/leafret.draw/src/ext/Polyline.Intersect.js"></script>
<script src="../lib/leafret.draw/src/ext/TouchEvents.js"></script>
<script src="../lib/leafret.draw/src/draw/DrawToolbar.js"></script>
<script src="../lib/leafret.draw/src/draw/handler/Draw.Feature.js"></script>
<script src="../lib/leafret.draw/src/draw/handler/Draw.SimpleShape.js"></script>
<script src="../lib/leafret.draw/src/draw/handler/Draw.Polyline.js"></script>
<script src="../lib/leafret.draw/src/draw/handler/Draw.Marker.js"></script>
<script src="../lib/leafret.draw/src/draw/handler/Draw.Circle.js"></script>
<script src="../lib/leafret.draw/src/draw/handler/Draw.CircleMarker.js"></script>
<script src="../lib/leafret.draw/src/draw/handler/Draw.Polygon.js"></script>
<script src="../lib/leafret.draw/src/draw/handler/Draw.Rectangle.js"></script>
<script src="../lib/leafret.draw/src/edit/EditToolbar.js"></script>
<script src="../lib/leafret.draw/src/edit/handler/EditToolbar.Edit.js"></script>
<script src="../lib/leafret.draw/src/edit/handler/EditToolbar.Delete.js"></script>
<script src="../lib/leafret.draw/src/Control.Draw.js"></script>
<script src="../lib/leafret.draw/src/edit/handler/Edit.Poly.js"></script>
<script src="../lib/leafret.draw/src/edit/handler/Edit.SimpleShape.js"></script>
<script src="../lib/leafret.draw/src/edit/handler/Edit.Rectangle.js"></script>
<script src="../lib/leafret.draw/src/edit/handler/Edit.Marker.js"></script>
<script src="../lib/leafret.draw/src/edit/handler/Edit.CircleMarker.js"></script>
<script src="../lib/leafret.draw/src/edit/handler/Edit.Circle.js"></script>

<link rel="stylesheet" href="../lib/leafret.draw/src/leaflet.draw.css"/>

[/code]

以下のコードでツールバーが表示され、編集等が可能となる
[code]
var drawnItems = new L.FeatureGroup();
map.addLayer(drawnItems);

var drawControl = new L.Control.Draw({
edit: {
featureGroup: drawnItems
}
});
map.addControl(drawControl);

map.on(L.Draw.Event.CREATED, function (event) {
var layer = event.layer;
drawnItems.addLayer(layer);
});
[/code]

登録用ツールバーを消去
[code]
var drawControl = new L.Control.Draw({
draw : false,
edit: {
featureGroup: drawnItems
},
});
[/code]

編集削除ツールバーも消去
[code]
var drawControl = new L.Control.Draw({
draw : false,
edit: {
featureGroup: drawnItems,
edit: false,
remove: false
},
});
[/code]

消去を再表示はできない?

一旦、コントロールそのものを削除して再登録だな。

削除のコード
[code]
map.removeControl(drawControl);
[/code]

iPhoneを回転するとzoomControlが隠れる

Leafletモバイルのサンプルページに従ってページを作成。
Leaflet on Mobile
iPhone SE iOSのバージョンは10.3.2
最初はzoomControlも正しい位置に表示されているが、回転するとzoomControlがアドレスバーに隠れてしまう。

HTMLとCSS
[code]
body {
padding: 0;
margin: 0;
}
html, body, #map {
height: 100vh;
width: 100vw;
}
[/code]

対応は回転のイベントで以下の処理を行う

[code]
$(window).bind("orientationchange",function(){
setTimeout(function(){
$(‘html,body’).animate({scrollTop: 0}, 500, ‘swing’);
map.invalidateSize()
}, 400);
})
[/code]

GeoServerが動かない→Tomcatが動かない

GeoServerが動作しないためTomcatのサービスを確認すると起動していない。
サービスを起動しようとすると以下のエラーが表示される。

イベントログには以下が出力されている「Apache Tomcat 7.0 Tomcat7 サービスは、次のサービス固有エラーで終了しました: ファンクションが間違っています。」

どうやらJavaがバージョンアップされてTomcatが参照しているJREの場所を更新する必要があるようだ。

環境変数:JRE_HOME
[code]
JRE_HOME=C:\Program Files\Java\jre1.8.0_111\bin
[/code]

C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin\Tomcat7w.exeを起動して
jvm.dllのパスを確認

[code]
C:\Program Files\Java\jre1.8.0_111\bin\server\jvm.dll
[/code]

JREのディレクトリ確認

最初にインストールした「jre1.8.0_111」から「jre1.8.0_131」にバージョンアップされている。

Tomcat7w.exeの値と環境変数をいかに修正

C:\Program Files\Java\jre1.8.0_131\bin\server\jvm.dll

C:\Program Files\Java\jre1.8.0_131\bin

今更ながらの小地域

e-Statでダウンロード可能な最小の地域である小地域とは基本的には町丁目または大字字である。

西池袋3丁目の場合は「西池袋」が「町」、「3丁目」が「丁目」である。

大字と字は見つけたら記載の予定