我已开始对Subgurim's Map
使用ASP.NET
控件,需要将coordinates
转换为string
或类似内容,以便我可以将其放入{{1} }}。
这是我的代码:
database
我对此 Protected Sub lnkShowMap_Click(ByVal sender As Object,
ByVal e As System.EventArgs) Handles lnkShowMap.Click
Dim strFullAddress As String
Dim sMapKey As String =
ConfigurationManager.AppSettings("googlemaps.subgurim.net")
Dim GeoCode As Subgurim.Controles.GeoCode
' Combine our address fields to create the full address. The street,
' suburb and country should be seperated by periods (.)
strFullAddress = txtStreetAddress.Text & ". " & txtSuburb.Text & ". " & txtCountry.Text
' Work out the longitude and latitude
GeoCode = GMap1.geoCodeRequest(strFullAddress, sMapKey)
Dim gLatLng As New Subgurim.Controles.GLatLng(GeoCode.Placemark.coordinates.lat,
GeoCode.Placemark.coordinates.lng)
' Display the map
GMap1.setCenter(gLatLng, 16, Subgurim.Controles.GMapType.GTypes.Normal)
Dim oMarker As New Subgurim.Controles.GMarker(gLatLng)
GMap1.addGMarker(oMarker)
' Create coordinates in stored mem '
Dim coordinates As GeoCode = GMap1.getGeoCodeRequest(GeoCode.Placemark.coordinates)
System.Diagnostics.Debug.WriteLine(coordinates)
End Sub
的最后两行有疑问,我将sub
定义为'coordinates'
的结果,但尽管在{{1}期间} {} Gmap1's placemarker's coordinates
的值不归因于debugging
以下是GeoCode.Placemark.coordinates
的屏幕截图:
http://www.wherelionsroam.co.uk/debug.png
我做错了什么?
答案 0 :(得分:1)
首先,如果您调用GMap1.getGeoCodeRequest()
传递GLatLng
对象作为参数,您将浪费地理编码调用,因为返回的坐标将与您作为参数传递的坐标相同。实际上,在您的代码中,您可以在GeoCode.Placemark.coordinates
中获得所需的一切。
Dim coordinates as GLatLng = GeoCode.Placemark.coordinates
在坐标变量中,您将拥有lat
和lng
属性以及您需要的信息,并保存一个地理编码调用(保存通话非常重要,因为它们受Google限制)。< / p>