谷歌地图-添加新的标记,而无需每次初始化地图
Google maps- Add new markers without initializing map each time
这就是我想要做的:我要求用户在输入框中键入纬度+经度,我想在地图上显示该位置的标记,而不必每次都初始化地图。
我已经初始化了一个地图如下:
<script type="text/javascript">
jQuery(document).ready(function() {
var myOptions = {
center: new google.maps.LatLng(34.053228, -118.259583),
zoom: 12,
zoomControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
});
</script>
<div style='height: 400px;'>
<div id="map_canvas" style="width:100%; float: left; height:100%"></div>
</div>
到目前为止还没有爵士乐,这是定义地图的正常方式。现在,我有一个输入框,我要求用户键入一个地址:
<input type="text" size=30 name="lat" id="lat">
<input type="text" size=30 name="lon" id="lon">
<button type="button" id="address_submit">Search</button>
我想给你看那个地址的记号笔。我定义了一个函数,如下所示,但不知道如何显示获取地图对象:
$("#address_submit").live("click", function() {
lat = $("#lat").val();
lon = $("#lon").val();
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat, lon),
map: map, //HOW DO I GET THIS MAP OBJECT??
title:"Hello World!"
});
}
我在jsfiddle=>中尝试过您的代码http://jsfiddle.net/HaDbR/一切似乎都如预期的那样工作(我降低了一点缩放因子,只是为了看到插入的标记):我在表格中插入了一些坐标(靠近地图中心坐标),标记显示正确。
唯一真正的区别是map
变量的可见性,以便应用于按钮的click
处理程序可以看到它,以及.on()
方法而不是.live()
我插入了googlemap API脚本,调用回调函数createMap()
,在该函数中,我初始化了映射,并关联了处理程序,因此通过关闭,它可以访问您的映射
相关文章:
- 谷歌地图API v3 - 初始化后添加标记
- 谷歌地图赢得'当用户拒绝共享位置时,t初始化
- javascript/google maps:为什么我在哪里初始化我的地图(内部与外部函数)很重要
- 谷歌地图,在点击按钮而不是页面加载时初始化和获取地图
- 如何在jquery对话框中初始化谷歌的地图
- 谷歌地图商店定位器将硬编码初始化修改为动态
- 谷歌地图 API 初始化:未定义初始化
- 谷歌地图缩放调整在初始化
- 刷新传单地图:地图容器已初始化
- 打开特定的信息窗口,无需点击,也不上传或初始化在 Google 地图 V3 地点
- 谷歌地图地理编码和初始化顺序
- 地图初始化后,将标记添加到谷歌地图
- 如何初始化谷歌地图图层
- 为什么谷歌地图显示灰色,而没有初始化缩放&当使用jQuery按钮更改缩放时,居中,地图上的居中效果非常好
- 位置选择器无法在谷歌地图初始化中工作
- JavaScript:在外部脚本中初始化谷歌地图
- Meteor.js谷歌地图初始化
- 谷歌地图-添加新的标记,而无需每次初始化地图
- 当添加标记时,谷歌地图初始化无法看到地图变量
- 传单js地图初始化和回调功能