Javascript 使用Google Maps API添加标记函数
我有以下Javascript,其中包括标准的Google Maps APIJavascript 使用Google Maps API添加标记函数,javascript,google-maps-api-3,google-maps-api-2,Javascript,Google Maps Api 3,Google Maps Api 2,我有以下Javascript,其中包括标准的Google Maps APIinitialize()函数和自定义的addMarker()函数。地图将正常加载,但标记不会添加到地图中 <script type="text/javascript"> // Standard google maps function function initialize() { var myLatlng = new google.maps.LatLng(40.779502,
initialize()
函数和自定义的addMarker()
函数。地图将正常加载,但标记不会添加到地图中
<script type="text/javascript">
// Standard google maps function
function initialize() {
var myLatlng = new google.maps.LatLng(40.779502, -73.967857);
var myOptions = {
zoom: 12,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
// Function for adding a marker to the page.
function addMarker(location) {
marker = new google.maps.Marker({
position: location,
map: map
});
}
// Testing the addMarker function
CentralPark = new google.maps.LatLng(37.7699298, -122.4469157);
addMarker(CentralPark);
</script>
//标准谷歌地图功能
函数初始化(){
var mylatng=new google.maps.LatLng(40.779502,-73.967857);
变量myOptions={
缩放:12,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
}
//用于向页面添加标记的函数。
功能添加标记(位置){
marker=新的google.maps.marker({
位置:位置,,
地图:地图
});
}
//测试addMarker函数
CentralPark=new google.maps.LatLng(37.7699298,-122.4469157);
addMarker(CentralPark);
您在函数外部添加了add marker方法调用,这导致它在initialize方法之前执行,initialize方法将在加载google maps脚本时调用,因此标记不会添加,因为map未初始化
按以下步骤做。。。。
创建单独的方法TestMarker并从initialize调用它
//标准谷歌地图功能
函数初始化(){
var mylatng=new google.maps.LatLng(40.779502,-73.967857);
变量myOptions={
缩放:12,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
TestMarker();
}
//用于向页面添加标记的函数。
功能添加标记(位置){
marker=新的google.maps.marker({
位置:位置,,
地图:地图
});
}
//测试addMarker函数
函数TestMarker(){
CentralPark=new google.maps.LatLng(37.7699298,-122.4469157);
addMarker(CentralPark);
}
这是另一种方法您还可以将
setCenter
方法与添加新标记一起使用检查下面的代码
$('#my_map').gmap3({
action: 'setCenter',
map:{
options:{
zoom: 10
}
},
marker:{
values:
[
{latLng:[position.coords.latitude, position.coords.longitude], data:"Netherlands !"}
]
}
});
以下代码适用于我:
<script src="http://maps.googleapis.com/maps/api/js"></script>
<script>
var myCenter = new google.maps.LatLng(51.528308, -0.3817765);
function initialize() {
var mapProp = {
center:myCenter,
zoom:15,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
var marker = new google.maps.Marker({
position: myCenter,
icon: {
url: '/images/marker.png',
size: new google.maps.Size(70, 86), //marker image size
origin: new google.maps.Point(0, 0), // marker origin
anchor: new google.maps.Point(35, 86) // X-axis value (35, half of marker width) and 86 is Y-axis value (height of the marker).
}
});
marker.setMap(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
</body>
var myCenter=newgoogle.maps.LatLng(51.528308,-0.3817765);
函数初始化(){
var mapProp={
中心:迈森特,
缩放:15,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById(“googleMap”),mapProp);
var marker=new google.maps.marker({
职位:迈森特,
图标:{
url:“/images/marker.png”,
大小:新的google.maps.size(70,86),//标记图像大小
原点:新的google.maps.Point(0,0),//标记原点
anchor:new google.maps.Point(35,86)//X轴值(35,标记宽度的一半),86是Y轴值(标记高度)。
}
});
marker.setMap(map);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
函数myMap(){
var myCenter=newgoogle.maps.LatLng(51.508742,-0.120850);
var mapCanvas=document.getElementById(“map”);
var mapOptions={center:myCenter,zoom:5};
var map=new google.maps.map(mapCanvas,mapOptions);
var marker=new google.maps.marker({position:myCenter});
marker.setMap(map);
}
查看本教程以了解完整的解决方案。
$('#my_map').gmap3({
action: 'setCenter',
map:{
options:{
zoom: 10
}
},
marker:{
values:
[
{latLng:[position.coords.latitude, position.coords.longitude], data:"Netherlands !"}
]
}
});
<script src="http://maps.googleapis.com/maps/api/js"></script>
<script>
var myCenter = new google.maps.LatLng(51.528308, -0.3817765);
function initialize() {
var mapProp = {
center:myCenter,
zoom:15,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
var marker = new google.maps.Marker({
position: myCenter,
icon: {
url: '/images/marker.png',
size: new google.maps.Size(70, 86), //marker image size
origin: new google.maps.Point(0, 0), // marker origin
anchor: new google.maps.Point(35, 86) // X-axis value (35, half of marker width) and 86 is Y-axis value (height of the marker).
}
});
marker.setMap(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
</body>
<div id="map" style="width:100%;height:500px"></div>
<script>
function myMap() {
var myCenter = new google.maps.LatLng(51.508742,-0.120850);
var mapCanvas = document.getElementById("map");
var mapOptions = {center: myCenter, zoom: 5};
var map = new google.maps.Map(mapCanvas, mapOptions);
var marker = new google.maps.Marker({position:myCenter});
marker.setMap(map);
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBu-916DdpKAjTmJNIgngS6HL_kDIKU0aU&callback=myMap"></script>