2012-10-19 17 views
0

我一直在查阅文档失败并需要帮助。我需要访问Google自动填充中的第一个值,或者在Google商家信息中对地理坐标进行地理编码。我自动填写“帕洛阿尔托”这个字段,并且需要Google地方信息的第一个建议来完成该城市的自动完成。我曾尝试使用Google地理编码功能,但结果与Places API不同,因此对我无用。示例场所输出Palo Alto,CA和地理编码功能输出Palo Alto,CA USA。我试图通过对上面的字符串进行反向地理编码来破解它,只是说帕洛阿尔托并且填充了一个被连接到地方自动完成的输入字段,但我无法触发它。我写了一个脚本来从自动完成结果中提取输出;我只需要触发它。我试过使用$('myCity')。trigger('keypress');一旦我将Palo Alto插入输入字段无效。欢迎所有关于下一步采取哪些措施的建议。我也研究了下面的代码,但是我想在没有地图的情况下做,并且当我删除它时我得到一个javascript错误。 “TypeError:a是undefined [Break On This Error](66超出范围46)”谷歌地图 - 无需用户输入获取格式化地址

var lat = -130; 
var lng = 37; 
var request = { 
    location: new google.maps.LatLng(lat, lng); 
}; 

var service = new google.maps.places.PlacesService(map); 
service.search(request, function (results, status) { 
    if (status == google.maps.places.PlacesServiceStatus.OK) { 
     for (var i = 0; i < results.length; i++) {   
      console.log(results[i]) 
     } 
    } 
}); 

感谢您的帮助。

+0

你到底要什么? –

回答

0

您需要执行文本搜索。

转到Places Library并下降到文本搜索请求

这里有一个例子:

var map; 
var service; 
var infowindow; 

function initialize() { 
    var pyrmont = new google.maps.LatLng(-33.8665433,151.1956316); 

    map = new google.maps.Map(document.getElementById('map'), { 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     center: pyrmont, 
     zoom: 15 
    }); 

    var request = { 
    location: pyrmont, 
    radius: '500', 
    query: 'restaurant' 
    }; 

    service = new google.maps.places.PlacesService(map); 
    service.textSearch(request, callback); 
} 

function callback(results, status) { 
    if (status == google.maps.places.PlacesServiceStatus.OK) { 
    for (var i = 0; i < results.length; i++) { 
     var place = results[i]; 
     createMarker(results[i]); 
    } 
    } 
} 

注:在你的情况下更改请求到这一点:

var request = { 
    query: 'Palo Alto' 
    };