josephcj87 Ответов: 0

Как передать координаты широты и долготы в Google mapscontrol


В основном то, что я пытался сделать, - это передать широту и долготу элементу управления google maps для отображения местоположения. Эти координаты были сгенерированы из адреса улицы, города, штата, почтового индекса с помощью следующего метода
public static GeocoderLocation Locate(string query)
        {
            WebRequest request = WebRequest
               .Create("http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address="
                  + HttpUtility.UrlEncode(query));

            using (WebResponse response = request.GetResponse())
            {
                using (Stream stream = response.GetResponseStream()) //The GetResponseStream of the System.IO.Stream is used to get the stream from the server which is used and read as
                                                                     //the body of the response. The stream itself is what contains the body of the response.
                {
                    XDocument document = XDocument.Load(new StreamReader(stream));

                    XElement longitudeElement = document.Descendants("lng").FirstOrDefault();
                    XElement latitudeElement = document.Descendants("lat").FirstOrDefault();

                    if (longitudeElement != null && latitudeElement != null)
                    {
                        return new GeocoderLocation
                        {
                            Longitude = Double.Parse(longitudeElement.Value, CultureInfo.InvariantCulture),
                            Latitude = Double.Parse(latitudeElement.Value, CultureInfo.InvariantCulture)
                        };
                    }
                }
            }

            return null;
        }


В этот момент я получаю следующую ошибку:
Описание: во время синтаксического анализа ресурса, необходимого для обслуживания этого запроса, произошла ошибка. Пожалуйста, ознакомьтесь со следующими конкретными сведениями об ошибке синтаксического анализа и соответствующим образом измените исходный файл.

Сообщение об ошибке синтаксического анализатора: не удается создать объект типа 'System.Nullable`1[[Система.Двойной mscorlib, версия=4.0.0.0, культуры=нейтральный, значения PublicKeyToken=b77a5c561934e089]]' от его строковое представление 'широта' для '' собственность широты.

На данный момент я пытаюсь понять это, ища различные решения в течение примерно 20 часов в течение последних нескольких дней.

Любая помощь будет оценена по достоинству. Это мой первый раз, когда я что-то делаю с Google Maps API.

Что я уже пробовал:

На стороне источника страницы aspx я использовал следующий код,
<form id="form1" runat="server">
        <div>
            

            <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
            
            <map:GoogleMap ID="GoogleMap1" runat="server" MapType="Hybrid" Zoom="8" Latitude="lat" Longitude="lng" CssClass="map" Width="100%" Height="100%" FullscreenControl="true" ApiKey="ApiKey">
              
            </map:GoogleMap>

            
            
        </div>
        

        </form>
однако, это, кажется, не быть в состоянии получить latlng с координатами из aspx-файл.файл CS.

Richard MacCutchan

Посмотрите на строку, где произошла ошибка, и проверьте значение всех ссылок и переменных.

josephcj87

Спасибо, что мне удалось это выяснить.

Richard MacCutchan

Как насчет публикации решения, чтобы другие люди могли воспользоваться вашим опытом? Эти форумы работают только в том случае, если все пытаются помочь друг другу.

0 Ответов