Javascript 使用Google Maps API添加标记函数

Javascript 使用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,

我有以下Javascript,其中包括标准的Google Maps API
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>