2017-04-13 14 views
0

我試圖在c#中獲取特定地址的緯度/經度值,並且我想使用myGeoloaction-API。 (我知道有谷歌,冰淇淋和其他什麼,但myGeoloaction是免費的)myGeolocation javascript in c#

但myGeoloaction只提供Javascript代碼,打開一個彈出窗口,有GeoPicker。

<script src="http://api.mygeoposition.com/api/geopicker/api.js" 
type="text/javascript"></script> 

<script type="text/javascript"> 
    function lookupGeoData() {    
     myGeoPositionGeoPicker({ 
      startAddress  : 'White House, Washington', 
      returnFieldMap : { 
           'geoposition1a' : '<LAT>', 
           'geoposition1b' : '<LNG>', 
           'geoposition1c' : '<CITY>', /* ...or <COUNTRY>, <STATE>, <DISTRICT>, 
                     <CITY>, <SUBURB>, <ZIP>, <STREET>, <STREETNUMBER> */ 
           'geoposition1d' : '<ADDRESS>' 
           } 
     }); 
    } 
</script> 

Geo-Coordinates: 
<input type="text" name="geoposition1a" id="geoposition1a" size="10"> 
<input type="text" name="geoposition1b" id="geoposition1b" size="10"> 
<input type="text" name="geoposition1c" id="geoposition1c" size="10"> 
<input type="text" name="geoposition1d" id="geoposition1d" size="70"> 
<button type="button" onclick="lookupGeoData();">GeoPicker</button> 

我的問題是我可以在c#中使用這個javascript來獲取緯度/經度值?

+2

是的,你可以從C#調用Javascript函數,並在C#端函數中傳遞你的緯度/經度。下面是例子,請在JS函數中添加參數。 Page.ClientScript.RegisterStartupScript(this.GetType(), 「CallMyFunction」, 「MyFunction的()」,TRUE); –

回答

0

當然可以。有一個名爲'CEFsharp'的項目,可以分析/執行JavaScript(實際上,它甚至可以作爲嵌入式功能的瀏覽器)。

但是我想如果你只是想把一個地址放到lat/long中,努力會太多.js最後被傳輸到HTTP請求中,爲什麼不直接找出行請求數據並將其用於你的程序?

通過使用wireshark或burpsuite或任何你想要的工具,你可以很容易地捕捉到請求並自定義你的程序。