标签: geocoding

面向iPhone开发人员的最佳地理编码服务

我创建了一个应用程序,从Web服务获取一组地址,我想映射它们.我知道Apple在MapKit中留下了这个,包括只有一个反向Geocoder.我想知道解决这个问题的最佳方法是什么.网络服务?Google Maps API(API密钥如何工作?)?CloudMade?

您对哪种服务最快,最容易使用,哪种服务最便宜(希望免费)有什么看法?

iphone cocoa-touch geocoding mkmapview

10
推荐指数
2
解决办法
7887
查看次数

是地球表面上多边形内部或外部的点

如何确定点是位于地球表面的多边形内部还是外部?

多边形的内部可以通过右手规则确定,即.当您在多边形周围走动时,多边形的内部位于右侧.

多边形可以

  1. 圈出任一极
  2. 穿过180经度
  3. 覆盖全球50%以上的地区

由于地球是一个球体,正常的射线穿越算法无法正常工作.

java math geometry geocoding

10
推荐指数
1
解决办法
3882
查看次数

计算距离另一个纬度/经度点的米距离的纬度和经度

我需要计算给定点的纬度和经度.

我知道参考点的纬度和经度,以及表示距参考点的x和y轴上的米的值.从这些数据开始,我必须找到该点的纬度和经度.

我搜索了类似的问题,但看起来大多数问题都是关于找到两个纬度/长点之间的距离.我需要做相反的事情.

我能怎么做?我用的是Java

java geocoding latitude-longitude

10
推荐指数
1
解决办法
6597
查看次数

查找美国城市所在美国郡的最佳方式是什么?

我正在寻找以编程方式获取某个美国城市所在美国郡名称的最佳/最简单的方法.似乎没有一个简单的API可用于这样一个(看似简单的)任务?

geocoding geolocation geo

10
推荐指数
2
解决办法
1万
查看次数

v3 Google Maps Geocoding API是否有一个代表准确性的字段?

我有一些代码,我正在从API v2移植到v3.在旧代码中,我们有一个准确性字段,它返回到xml中(不确定名称,但确实代表了各种类型的置信度).在新的API中,我没有看到任何类似的字段.

如果我把"俄勒冈州,美国"放入搜索领域,我会得到5场比赛.前两个是"俄勒冈州,美国"和"俄勒冈州,俄亥俄州,美国".他们都有"partial_match"= false.这似乎不对,一个似乎是偏袒的,一个不是.另外,他们都回来了相同的"location_type"(APPROXIMATE).实际上,所有匹配都显示为非局部且具有相同的位置类型.

我的问题是,结果集中的任何字段是否都会对结果的准确性产生某种信心?在我的示例中,看起来似乎一个结果比任何其他结果更准确 - 以至于输入字符串与返回的QuickAddress字段完全匹配.

google-maps geocoding google-geocoder google-geocoding-api

10
推荐指数
2
解决办法
5294
查看次数

使用地理编码器gem和PostGIS数据库使用RGeo对地址进行地理编码

我正在尝试使用地理编码器宝石来查找地址和坐标.我希望它与我的PostGIS空间数据库和RGeo gem一起使用,它使用POINT功能而不是分别保存纬度和经度值.所以我尝试使用我的模型将地理编码器查找的结果保存到RGeo POINT功能中:

class Location < ActiveRecord::Base
  attr_accessible :latlon, :name, :address
  set_rgeo_factory_for_column(:latlon, RGeo::Geographic.spherical_factory(:srid => 4326))

  geocoded_by :name_and_address do |obj, results|
    if geo = results.first
      obj.latlon = Location.rgeo_factory_for_column(:latlon).point(geo.longitude, geo.latitude)
    end
  end

  after_initialize :init
  after_validation :geocode


  def init
    self.latlon ||= Location.rgeo_factory_for_column(:latlon).point(0, 0)
  end

  def latitude
    self.latlon.lat
  end

  def latitude=(value)
    lon = self.latlon.lon
    self.latlon = Location.rgeo_factory_for_column(:latlon).point(lon, value)
  end

  def longitude
    self.latlon.lon
  end

  def longitude=(value)
    lat = self.latlon.lat
    self.latlon = Location.rgeo_factory_for_column(:latlon).point(value, lat)
  end

  def name_and_address
    "#{self.name}, #{self.address}"
  end

end
Run Code Online (Sandbox Code Playgroud)

在Rails控制台中,我现在可以:

test = Location.new(name: "Eiffel …
Run Code Online (Sandbox Code Playgroud)

activerecord geocoding postgis ruby-on-rails callback

10
推荐指数
1
解决办法
2055
查看次数

提交调用js函数的Button然后发布到mysql

对我所做的简短而甜蜜的描述是一个联系表单,用于对用户地址进行地理编码(一旦他们点击提交),并将获取的lat&lng值放入隐藏字段.

我有一切工作,但我有两个单独的按钮,我只想要一个.因此,用户必须先点击一个按钮,然后才能点击提交按钮,这是愚蠢的."Find Geopoints"按钮调用js函数并将lat和lng值返回到表单上的隐藏字段,然后按下提交按钮,它将所有表单数据发布到MySQL数据库中.

同样,一切都在我的代码中工作我只需要将表单中的两个按钮合二为一,它仍然有效.

这是Javascript:

<script type="text/javascript">

    var geocoder;

    function initialize() {
        geocoder = new google.maps.Geocoder();
        map = new google.maps.Map(document.getElementById("map_canvas"));
    }
    function updateCoordinates(latlng)
    {
        if(latlng) 
        {
            document.getElementById('lat').value = latlng.lat();
            document.getElementById('lng').value = latlng.lng();
        }
    }

    function codeAddress() {
        var address = document.getElementById("address").value;
        geocoder.geocode( { 'address': address}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                updateCoordinates(results[0].geometry.location);
            } else {
                alert("The address you entered could not be found: " + status);
            }
        });
    }
</script>
Run Code Online (Sandbox Code Playgroud)

这是形式:

<form align="center" method="post">
    <label for="firstName">First Name:</label> <input …
Run Code Online (Sandbox Code Playgroud)

html javascript php mysql geocoding

10
推荐指数
1
解决办法
6万
查看次数

GMSGeocoder - 如何设置响应语言

在国外使用我的应用程序时,谷歌GMSGeocoder会自动以本地语言返回响应.如何将其设置为始终以英语返回响应?

我使用GMS SDK 1.7,我的代码是这样的:

GMSGeocoder *geoCoder = [[GMSGeocoder alloc] init];


[geoCoder reverseGeocodeCoordinate:self.cellLocation.coordinate completionHandler:^(GMSReverseGeocodeResponse *respones, NSError *err) {
    if([respones firstResult]) {

        GMSAddress* address = [respones firstResult];
        NSString* fullAddress = [NSString stringWithFormat:@"%@, %@",address.thoroughfare, address.locality];

        self.theTextField.text = fullAddress; 

    } else {
        self.theTextField.text = @"";
    }
}];
Run Code Online (Sandbox Code Playgroud)

geocoding ios gmsmapview

10
推荐指数
1
解决办法
2623
查看次数

Google maps API - 按地址javascript添加标记

我有地址数据库,我想在谷歌地图上添加标记.

它只显示默认标记,看起来像geocoder.geocode()什么都不做.举个例子,我试图在"纽约市"上添加一个标记,但没有成功.

<script>
    var geocoder;
    var map;
    var address = "new york city";
    geocoder = new google.maps.Geocoder();
    function initMap() {
        var uluru = { lat: -25.363, lng: 131.044 };
        var map = new google.maps.Map(document.getElementById('map'), {
            zoom: 4,
            center: uluru
        });
        var marker = new google.maps.Marker({
            position: uluru,
            map: map
        });
        codeAddress(address);

    }

    function codeAddress(address) {

        geocoder.geocode({ 'address': address }, function (results, status) {
            if (status == 'OK') {
                    var marker = new google.maps.Marker({
                    position: address,
                    map: map
                });
            } else …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps geocoding google-maps-api-3

10
推荐指数
1
解决办法
2万
查看次数

Google地理编码 - 解析可能以不同方式返回的address_components

我正在使用Google Maps V3 api.我正在提交地址搜索以返回正确的地理编码结果,包括地址,建立名称和lat/lngs.

我的问题是来自地理编码器的响应可以采用不同的格式.它始终遵循相同的结构,但是一些响应对address_components数据结构使用不同的键.

例如,某些搜索会导致:

establishment               -> location name
street_number               -> address street number
route                       -> the street name
locality                    -> the city
administrative_area_level_1 -> the state
postal_code                 -> zip/postal code
Run Code Online (Sandbox Code Playgroud)

然而,如果我要搜索一般区域,例如"Hampton Beach,NH",我会收到:

sublocality                 -> beach name / area
administrative_area_level_3 -> city/town name
administrative_area_level_1 -> the state
postal_code                 -> zip/postal code
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,这两个回答有其不同之处.是否有一个已知的jquery库可用于处理这些不同的响应,以返回可用于人类可读方式的地址组件的数据集?

我会注意到响应也返回一个"formatted_address"类型,它返回它:"Hampton Beach,NH 03842,USA"或"Boston University,1 University Rd,Boston,MA 02215-1407,USA"正如你所看到的,这些也是非常不同的.我可以用逗号分割,但我想使用实际的address_components来实现完美的数据库插入.

javascript google-maps geocoding google-geocoder

9
推荐指数
1
解决办法
7991
查看次数