谷歌地图API -自动建议表单文本字段
Google map API - AutoSuggest form textfield
我使用下面的代码。我试着用一个标记和一个信息窗口创建一个地图,我想有一个文本字段来写一个地址,并得到从该地址到标记的方向。我想,当你写一个地址在文本字段出现在上面建议的地方从谷歌。我希望我解释好我的问题,有人帮助我。
var geocoder;
var directionsService;
var directionsDisplay;
var latlng = new google.maps.LatLng(37.396746, 21.677257);
var infowindow = new google.maps.InfoWindow({
content:"<center><strong>Apollo Camping</strong></center><br/>"+
"<center>Πως θα έρθετε</center>"+
"Διεύθυνση: <input id='clientAddress' type='text' onFocus='geolocate()' placeholder='Εισάγετε τη διεύθυνσή σας' size=22>"+
"<center><input type='button' onClick=getDir() value='Λήψη οδηγιών'></center>"
});
function initialize() {
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: 'Atlanta/Sandy Springs',
clickable: true
});
infowindow.open(map, marker);
google.maps.event.addListener(marker, 'click', function () {
});
geocoder = new google.maps.Geocoder();
directionsService = new google.maps.DirectionsService();
directionsDisplay = new google.maps.DirectionsRenderer({
suppressMarkers: false
});
directionsDisplay.setMap(map);
directionsDisplay.setPanel(document.getElementById("directionsPanel"));
}
function getDir() {
geocoder.geocode({
'address': document.getElementById('clientAddress').value
},
function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var origin = results[0].geometry.location;
var destination = latlng;
var request = {
origin: origin,
destination: destination,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
} else {
document.getElementById('clientAddress').value =
"Directions cannot be computed at this time.";
}
});
}
initialize();
这是javascript,我在html中调用它。我在等你的回复,希望有人能明白我的意思。
提前感谢大家!
- 从
#clientAddress
中删除焦点侦听器 在infowindow的domready上创建自动补全:
google.maps.event.addListener(infowindow,'domready',function(){ //create the autocomplete var ac=new google.maps.places .Autocomplete(document.getElementById('clientAddress')); //run getDir when the place changes google.maps.event.addListener(ac, 'place_changed', getDir); });
相关文章:
- 表单文本框未自动更新
- 使用 javascript 表单文本框内容
- 使用javascript手动更改表单/文本区域输入,并确保所有事件侦听器都已启动
- 按钮更改由按钮id输入的表单文本区域
- 使用jQuery用data-*数据填充表单文本输入
- Javascript - 当用户输入内容时更改表单文本框的边框颜色
- 填写表单文本框,其中包含数据库表中的数据(如果用户存在)
- 将表单文本框和按钮放在每个单选按钮的前面
- 如何在表单文本框中启用退格工作
- 将文本从表单文本发送到电子邮件
- 为什么我的表单文本框会自动填充以前的文本框值
- WordPress联系人表单7文本框未在Chrome中显示
- Chrome扩展-点击清除表单文本
- 根据表单选择值禁用和启用表单文本输入.
- 表单文本框未标识为对象
- 是否可以在JavaScript中输入表单文本时验证多个值
- 基于同一表单中下拉菜单的值启用HTML表单文本框
- JavaScript-将表单文本存储在本地存储中
- 我们如何通过表单文本输入通过ajax发送json编码的数据
- 获取jQuery表单-文本值的id