緯度経度をチェックし、ページの読み込み時に実行する JavaScript 関数があります。緯度経度で page メソッドを呼び出します。page メソッドでは、RegisterClientScriptBlock を使用して一連の変数を設定し、javascript の文字列を返して、それらの変数を使用するマップを表示します。マップは読み込まれますが、期待する変数が未定義であるというエラーが表示されます。
<script type="text/javascript">
function check() {
if (navigator.geolocation) {
var panelProg = $get('progress');
panelProg.style.display = '';
var panelProg = $get('map');
panelProg.style.display = 'none';
navigator.geolocation.getCurrentPosition(function (position) {
// Access them accordingly
PageMethods.SetSession(position.coords.latitude, position.coords.longitude, callBack);
});
}
}
function callBack(result) {
eval(result);
}
</script>
[WebMethod]
public static string SetSession(string latval, string longval)
{
//does work, calls RegisterClientScriptBlock to set a bunch of array variables
//var lats = new Array(); var longs = new Array(); etc...
return "displaymap(" + latval + "," + longval + ");";
}