相关疑难解决方法(0)

在自动完成选项中解析Google地图中的address_components

我有以下代码来解析country选择自动完成列表的时间:

$('#spot_address').autocomplete({
  // This bit uses the geocoder to fetch address values
  source: function(request, response) {
    geocoder.geocode( {'address': request.term }, function(results, status) {
      // Get address_components
      for (var i = 0; i < results[0].address_components.length; i++)
      {
        var addr = results[0].address_components[i];
        var getCountry;
        if (addr.types[0] == 'country') 
          getCountry = addr.long_name;
      }
      response($.map(results, function(item) {
        return {
          label: item.formatted_address,
          value: item.formatted_address,
          latitude: item.geometry.location.lat(),
          longitude: item.geometry.location.lng(),
          country: getCountry
        }
      }));
    })
  },

  // This bit is executed upon selection of an …
Run Code Online (Sandbox Code Playgroud)

javascript jquery google-maps google-maps-api-3

13
推荐指数
6
解决办法
3万
查看次数

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
查看次数

在最长的位置找到最近的街道

是否有任何这样的API给定一个位置(就latlong而言),我可以找到给定点是否在道路/街道上.如果可能的话,也会给我最近的街道/道路.我从[查找附近的街道] - > http://www.geonames.org/maps/us-reverse-geocoder.html#findNearbyStreets找到了API ,但它只为美国提供了解决方案.如果您知道任何更好的解决方案/算法,请帮助我.(我对印度特别感兴趣.)

location latitude-longitude openstreetmap

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

提取地址组件的更有效方法

Currenty,我使用以下代码来获取国家/地区,邮政编码,地区和子地区:

var country, postal_code, locality, sublocality;
for (i = 0; i < results[0].address_components.length; ++i)
{
    for (j = 0; j < results[0].address_components[i].types.length; ++j)
    {
        if (!country && results[0].address_components[i].types[j] == "country")
            country = results[0].address_components[i].long_name;
        else if (!postal_code && results[0].address_components[i].types[j] == "postal_code")
            postal_code = results[0].address_components[i].long_name;
        else if (!locality && results[0].address_components[i].types[j] == "locality")
            locality = results[0].address_components[i].long_name;
        else if (!sublocality && results[0].address_components[i].types[j] == "sublocality")
            sublocality = results[0].address_components[i].long_name;
    }
}
Run Code Online (Sandbox Code Playgroud)

那令人不满意.有没有其他方法可以达到相同的效果?

javascript google-maps google-maps-api-3

7
推荐指数
4
解决办法
2万
查看次数

捕捉到最近的街道

你们最近一直在用谷歌地图帮助解决我的一些问题,谢谢你们.

我几乎完成了这个 - 只留下一个问题.当我将第一个标记放在地图上时,它会捕捉到最近的街道(这很好!)但是当我将第一个标记拖到另一个地方时,方向突然变得混乱.标记得到混合.

您可以在http://dev.korebogen.dk/gmap/上看到一个示例

我需要移动第一个标记(仍然是对齐),当我放置第二个标记时,首先加载方向.但为了使第一个标记再次弹出,我必须加载方向.

我希望你们中的一些人有一个解决方案.提前致谢.

google-maps driving-directions

5
推荐指数
1
解决办法
6001
查看次数

使用 Google Maps API v2 超过 25 个点的 loadFromWaypoints

我有个问题。我知道在谷歌地图中,GDirections.loadFromWayPoints有 25 个GLatLng对象的限制。我想要的是制作一条路线,比如 300 点。

我怎样才能做到这一点?我想到的解决方案是使用 25 个位置的数组,然后调用 loadFromWaypoints,创建另一个 25 个位置的数组,然后调用 loadFromWayPoints 等等,但是当我这样做时,我只能看到我的地图中的第一个数组。

有什么建议?

这是我的 ajax 函数,它尝试执行我所描述的操作:

function ajaxFunction(url){
    var ajaxRequest;  // The variable that makes Ajax possible!

    try{
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } catch (e){
        // Internet Explorer Browsers
        try{
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try{
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e){
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    // Create …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps gdirections

5
推荐指数
1
解决办法
2139
查看次数

在android中获取最近的街道/道路坐标

在javascript中,使用Google maps apis指定选项,例如google.maps.TravelMode.DRIVING.我们TravelMode在android中有任何等价物吗?我看不到任何内容android.location.LocationManager或者android.location.Criteria 我想到了以下选项:

  1. 使用一些TravelMode替代方法,获得近似于最近的街道/道路的坐标.

  2. 或者,(不是优选的,因为它会很慢)通常获得坐标,然后可能将它发送到一些谷歌api(这将是非常慢,因为有很多点)并将坐标校正到最近的街道坐标.或者如果存在一些(谷歌地图)javascript框架,它可以用于获得相应的街道坐标.

EDIT1:

我也研究了这个.因而进入android.location.Geocoder.在getFromLocation这一类似乎做的大部分工作.但是,我担心,在获取最近的地址时会有额外的延迟.

android google-maps google-maps-api-3 android-location

3
推荐指数
1
解决办法
6057
查看次数