2017-01-13 6 views
1

私はGoogle Maps Java Exampleのサンプルをテストしても問題なく動作しますが、VBコードからLatとLongを渡すにはどうすればよいですか?これにLAT LONGをGoogle Mapsに渡すCodeBehindから

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

    Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "initMap", "lat: 52.90560483, lng: -1.36920258") 

    End Sub 

と機能を調節する:私は後ろにVBのコードでこれを試してみました

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Map.aspx.vb"  Inherits="Learning.Map" %> 

    <!DOCTYPE html> 

    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
    <title></title> 
    <script> 
    function initMap() { 
     var uluru = { lat: 52.90560483, lng: -1.36920258 };    
     var map = new google.maps.Map(document.getElementById('map'), { 
      zoom: 15, 
      center: uluru 
     }); 
     var marker = new google.maps.Marker({ 
      position: uluru, 
      map: map 
     }); 
    } 
    </script> 
    <style> 
    #map { 
     position: relative; 
     height: 500px; 
     width: 100%; 
    } 
    </style> 
    </head> 
    <body> 
    <form id="form1" runat="server"> 
    <h3>My Google Maps Demo</h3>  
    <div id="map"></div> 
    <!-- Replace the value of the key parameter with your own API key. --> 
    <script async defer 
     src="https://maps.googleapis.com/maps/api/js?key=ABCD&callback=initMap"> 
    </script> 
    </form> 
    </body> 
    </html> 

<script> 
    function initMap(myvar) {    
     var uluru = myvar; 
     var map = new google.maps.Map(document.getElementById('map'), { 
      zoom: 15, 
      center: uluru 
     }); 
     var marker = new google.maps.Marker({ 
      position: uluru, 
      map: map 
     }); 
    } 
    </script> 

だけのものかを示す

この

は一例です灰色のボックスです。誰も助けて、私が緯度と経度を関数に渡すか、コードの背後にあるより簡単な方法を伝えることができますか?理由は、SQLExpress ServerからLatとLongを呼び出します。

多くのありがとうございます。

答えて

1

はちょうどあなたが最も簡単な方法についてMVC

なしASP.NETを使用して想定し、あなたが背後にあるコードで変数に緯度LONを入れて、隠しフィールドに渡す(とJavaScriptからそれを得ることができますかjqueryの)、または単にページでそれを印刷

コードの背後にある:

protected string _lat; 
protected string _lng; 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

    _lat = "52.90560483"; 
    _lng = "-1.36920258"; 

End Sub 

ページ:

<script> 
function initMap(myvar) {    
    var uluru = { lat: <%= _lat %>, lng: <%= _lng %> }; 
    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 15, 
     center: uluru 
    }); 
    var marker = new google.maps.Marker({ 
     position: uluru, 
     map: map 
    }); 
} 
</script> 

理由は、あなたの機能不全、文字列として一緒にLATLNGを渡すが、Googleマップは、オブジェクト配列としてそれを必要とするので。

+0

_latと_lngの背後にあるコードが変更されたときに地図を更新する方法はありますか? –

+0

@CodiMadison ** _ lat **および** _ lng **はサーバーに保存されます。httpはステートレスなので、クライアントに変更を通知することはできません。しかし、時々変更をチェックするためにajaxを使用しようとするかもしれません。 – Prisoner

関連する問題