我試圖通過Websockets實現Google Earth控制器。我有一個簡單的回聲websockets服務器在c#中,當我在文本框中鍵入一個值,它只是將其發送回頁面(我打算能夠直接從服務器發送數據)。與谷歌地球NPObject異常調用方法時出錯
我的腳本初始化谷歌地球是非常標準和工作原理:
<script type="text/javascript">
google.load("earth", "1");
function init() {
google.earth.createInstance('map3d', initCallback, failureCallback);
StartServer();
}
function initCallback(instance) {
ge = instance;
ge.getWindow().setVisibility(true);
// add a navigation control
ge.getNavigationControl().setVisibility(ge.VISIBILITY_AUTO);
// add some layers
ge.getLayerRoot().enableLayerById(ge.LAYER_BORDERS, true);
ge.getLayerRoot().enableLayerById(ge.LAYER_ROADS, true);
}
function failureCallback(errorCode)
{
}
</script>
(GE變量)就是谷歌地球實例。
現在在我的服務器代碼,如果我這樣做:
ws.onmessage = function (evt)
{
inc.innerHTML += evt.data + '<br/>';
var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
lookAt.setLatitude(lookAt.getLatitude() + 10);
lookAt.setLongitude(lookAt.getLongitude() + 20);
ge.getView().setAbstractView(lookAt);
};
一切正常(地球繞一點點)。
現在,如果我做的:
ws.onmessage = function (evt)
{
inc.innerHTML += evt.data + '<br/>';
var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
lookAt.setLatitude(lookAt.getLatitude() + evt.data); //Here i try to use the data received
lookAt.setLongitude(lookAt.getLongitude() + 20);
ge.getView().setAbstractView(lookAt);
};
我得到異常:在NPObject
錯誤調用方法我試圖拆串,並轉換爲數字,但總是得到同樣的錯誤。
inc.innerHTML += evt.data + '<br/>';
始終工作壽。
編輯:
我也嘗試: VAR I = parseInt函數(d); //作品 但是當我打電話時l lookAt.setLatitude(i); //異常
任何幫助表示讚賞
這是JavaScript的你:) –