2013-03-18 1 views
0

В моем приложении asp.net я использовал геокод, чтобы найти широту и долготу для заданного адреса и сохранил их в базе данных. Очень странно, что он отлично работал с последних 8 месяцев, но внезапно с 2-х дней возвращал Zero для каждого адреса, который мы предоставляем, даже я пытался со старыми адресами, для которых он работал, но теперь для этого также его возвращающий нуль как логичность и широта.получите нуль как логичность и широту с каждым адресом в .net

Пожалуйста, дайте мне знать, как исправить эту проблему

Вот код, я использую, который работал раньше, я не изменил ничего

public interface ISpatialCoordinate 
{ 
    decimal Latitude { get; set; } 
    decimal Longitude { get; set; } 
} 

/// <summary> 
/// Coordiate structure. Holds Latitude and Longitude. 
/// </summary> 
public struct Coordinate : ISpatialCoordinate 
{ 
    private decimal _latitude; 
    private decimal _longitude; 

    public Coordinate(decimal latitude, decimal longitude) 
    { 
     _latitude = latitude; 
     _longitude = longitude; 
    } 

    #region ISpatialCoordinate Members 

    public decimal Latitude 
    { 
     get 
     { 
      return _latitude; 
     } 
     set 
     { 
      this._latitude = value; 
     } 
    } 

    public decimal Longitude 
    { 
     get 
     { 
      return _longitude; 
     } 
     set 
     { 
      this._longitude = value; 
     } 
    } 

    #endregion 
} 

public class Geocode 
{ 

    private const string _googleUri = "https://maps.google.com/maps/geo?q="; 
    private const string _outputType = "csv"; // Available options: csv, xml, kml, json 
    // 
    private const string _googleKey = ""; //here i am giving my key 

    /// <summary> 
    /// Returns a Uri of the Google code Geocoding Uri. 
    /// </summary> 
    /// <param name="address">The address to get the geocode for.</param> 
    /// <returns>A new Uri</returns> 
    private static Uri GetGeocodeUri(string address) 
    { 
     // string googleKey = ConfigurationManager.AppSettings["googleApiKey"].ToString(); 
     address = HttpUtility.UrlEncode(address); 
     return new Uri(String.Format("{0}{1}&output={2}&key={3}", _googleUri, address, _outputType, _googleKey)); 
    } 

    /// <summary> 
    /// Gets a Coordinate from a address. 
    /// </summary> 
    /// <param name="address">An address. 
    ///  <remarks> 
    ///   <example> 
    ///   3276 Westchester Ave, Bronx, NY 10461 
    /// 
    ///   or 
    /// 
    ///   New York, NY 
    /// 
    ///   or 
    /// 
    ///   10461 (just a zipcode) 
    ///   </example> 
    ///  </remarks> 
    /// </param> 
    /// <returns>A spatial coordinate that contains the latitude and longitude of the address.</returns> 
    public static Coordinate GetCoordinates(string address) 
    { 
     WebClient client = new WebClient(); 
     Uri uri = GetGeocodeUri(address); 

     /* The first number is the status code, 
     * the second is the accuracy, 
     * the third is the latitude, 
     * the fourth one is the longitude. 
     */ 
     string[] geocodeInfo = client.DownloadString(uri).Split(','); 

     return new Coordinate(Convert.ToDecimal(geocodeInfo[2]), Convert.ToDecimal(geocodeInfo[3])); 
    } 

} 
+0

может быть, они что-то изменилось в их API? –

+0

Не могли бы вы предоставить код? Я не могу сказать, что происходит. – tjameson

+0

Кроме того, какой поставщик геокодирования вы используете? –

ответ

0

привет Рина я тоже получил тот же вопрос месяц назад, но я изменил только эту часть Пожалуйста, проверьте это.

latitude = results[0].geometry.location.Ya; 
longlitude = results[0].geometry.location.Za; 

Храните точку останова вблизи этого результата и проверьте, что вы получаете. Надеюсь, это поможет вам

+0

Нет, только его возврат 0. проверьте мой код, который я разместил, пожалуйста, –

+0

Я был вне дома для своего обеда, можете ли вы сообщить мне версию вашего API – Muthuram

0

Вы используете версию геокодирования v2 Теперь google обновил свою версию до версии v3.

  • Используя эту версию, вы не можете получить ourput Прямо как CSV
  • Либо вы хотите идти с XML или метода Json.
  • Лучше идти с XML его легко синтаксический анализ данных

версии 2 больше не существует. код состояния 610, геокод

Проверьте ссылку ниже для более подробной информации https://developers.google.com/maps/documentation/geocoding/#Results

 Смежные вопросы

  • Нет связанных вопросов^_^