文本框值更改 Google 地图上的更新标记
text box value change update marker on Google map
我有谷歌地图使用谷歌地图API v3。我有一个手风琴的谷歌地图,用户可以点击并放置一个标记和纬度和纬度的值填充顶部的两个文本框.
这部分在下面的脚本中工作正常。但是,如果用户更改文本框标记中纬度或lon的值需要相应地更改,我现在想要的文本框中填充了纬度和隆。
var map = null;
function initialize() {
var myLatlng = new google.maps.LatLng(25.263327,55.329895);
var myOptions = {
zoom: 10,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var marker;
function placeMarker(location) {
if ( marker ) {
marker.setPosition(location);
} else {
marker = new google.maps.Marker({
position: location,
map: map
});
}
}
google.maps.event.addListener(map, 'click', function(event) {
placeMarker(event.latLng);
document.getElementById("latFld").value = event.latLng.lat();
document.getElementById("lngFld").value = event.latLng.lng();
});
}
$(document).ready(function() {
$("#accordion").bind('accordionchange', function(event, ui) {
if (ui.newContent.attr('id') == 'tabThree' && !map)
{
map = initialize();
}
});
});
这样的事情可能会起作用:
function updatePosition(){
var lat = parseFloat(document.getElementById("latFld").value);
var lon = parseFloat(document.getElementById("lngFld").value);
if (lat && lon) {
var newPosition = new google.maps.LatLng(lat,lon);
placeMarker(newPosition);
}
}
。并在您的 HTML 中
<input id ='latFld' onkeyup='updatePosition()'>
<input id ='latFld' onkeyup='updatePosition()'>
您可能希望使用 onchange 而不是 onkeyup 来减少过度活跃。
相关文章:
- 标记的实时更新,无需加载页面谷歌地图API V3
- 谷歌地图/Angular JS:地图更新并不总是反映数据,并且可以't删除标记
- 角度指令是't更新谷歌地图值
- 棱角分明的谷歌地图没有更新标记
- 更新打开的谷歌地图信息窗口
- 在谷歌地图 API v3 中获取更新的半径/面积
- 谷歌地图在angularjs中懒惰加载动态地理坐标更新
- 如何使用d3更新/覆盖地图和图例内容
- 如何在谷歌地图javascript中在地图上拖动标记(可拖动方向)时显示更新的坐标
- 在谷歌地图上显示用户当前位置并更新
- 函数更新地图谷歌地图 API
- 使用滑块控制器更新地图数据/阴影?包括示例
- 使用 D3,如何在平移后更新地图上的圆圈
- 如何使用 JavaScript 动态更新地图引擎数据表
- 根据标记在另一张地图中的拖动来更新地图中心
- AmMap -在更新地图数据后保持相同的缩放级别和位置
- 融合表过滤器不能更新地图
- 点击按钮时更新地图位置
- 如何在crossfilter dimension.filter()上更新地图比例
- 更新地图标记而不刷新页面-传单