首先,新手在这里。所以请忍受我的问题。 :)
假设我有一个从我的数据库中提取的位置(纬度/经度),我想将此位置用作标记在地图中绘制的位置。 怎么办?
我已尝试实现我在此处找到的一些代码,但似乎对我没用。
这是我到目前为止所拥有的:
var center;
var myLatlng;
function initialize() {
myLatlng = new google.maps.LatLng(document.getElementById("txtLatLng"));
var mapOptions = {
zoom: 12,
center: myLatlng
}
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map
});
google.maps.event.addDomListener(window, 'load', initialize);
我正在尝试用txtbox值替换myLatLng变量的值,但没有运气。
PS。我知道这是在事件加载。这引出了我的第二个问题,如何在事件btnClick中完成所有这些?
提前致谢!
答案 0 :(得分:1)
您可以在启动时使用一个输入字段,但必须解析它。我把它留在那里并添加基本的解析。单击按钮不会触发该部分。
对我来说,最好为纬度和经度设置单独的输入字段:添加两个输入字段和触发功能的按钮:
function setMarker() {
var latitude = latEl.value;
var longitude = lngEl.value;
if (latitude == '' || longitude == '') {
console.log('lat or lng not defined');
return;
}
var position = new google.maps.LatLng(parseFloat(latitude),
parseFloat(longitude));
var marker = new google.maps.Marker({
position: position,
map: map
});
map.setCenter(position);
}
调用 setCenter()
将标记定位到中心。否则它可能发生在可见部分之外。