Javascript 谷歌地图API,Can';我根本不想让马克出现

Javascript 谷歌地图API,Can';我根本不想让马克出现,javascript,html,google-maps,Javascript,Html,Google Maps,我已经启动并运行了地图,但我无法在“中心”和“位置”指定的横向和纵向放置标记。有人看到错误了吗?我之前做过这个,但是在添加样式数组之后,它停止了,我一定是不小心弄乱了一些东西,但是我现在没有看到它 <div id="map"></div> <script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script> <script> var map;

我已经启动并运行了地图,但我无法在“中心”和“位置”指定的横向和纵向放置标记。有人看到错误了吗?我之前做过这个,但是在添加样式数组之后,它停止了,我一定是不小心弄乱了一些东西,但是我现在没有看到它

<div id="map"></div>

<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>

<script>
    var map;
    function initialize() {
        var mapOptions = {
            zoom: 17,
            center: new google.maps.LatLng(36, -110),
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            styles: styleArray,
            scrollwheel: false,
        };
        map = new google.maps.Map(document.getElementById('map'),
  mapOptions);
    }

    google.maps.event.addDomListener(window, 'load', initialize);

    var styleArray = [
        {
            featureType: "all",
            stylers: [ { saturation: -80 } ]
        },
        {
            featureType: "road.arterial",
            elementType: "geometry",
            stylers: [ { hue: "#00ffee" }, { saturation: 50 } ]
        },
        {
            featureType: "poi.business",
            elementType: "labels",
            stylers: [ { visibility: "off" } ]
        }
    ];

    var marker = new google.maps.Marker({
        position: (36, -110),
        title:"Hello World!",
        map: (google.maps.MapTypeId.ROADMAP),
    });

    marker.setMap(google.maps.MapTypeId.ROADMAP);

</script>

var映射;
函数初始化(){
变量映射选项={
缩放:17,
中心:新google.maps.LatLng(36,-110),
mapTypeId:google.maps.mapTypeId.ROADMAP,
样式:样式数组,
滚轮:错误,
};
map=new google.maps.map(document.getElementById('map'),
地图选项);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
var styleArray=[
{
featureType:“全部”,
样式器:[{饱和度:-80}]
},
{
功能类型:“道路.干线”,
elementType:“几何体”,
样式器:[{色调:{00ffee},{饱和度:50}]
},
{
featureType:“poi.business”,
elementType:“标签”,
样式器:[{可见性:“关闭”}]
}
];
var marker=new google.maps.marker({
位置:(36,-110),
标题:“你好,世界!”,
地图:(google.maps.MapTypeId.ROADMAP),
});
setMap(google.maps.MapTypeId.ROADMAP);

发布的代码中存在javascript错误:

  • InvalidValueError:setPosition:不是LatLng或LatlInTerral:不是对象
  • InvalidValueError:setMap:不是Map的实例;而不是街景全景的实例
您的代码有几个问题:

  • 您的标记在
    initialize
    函数外部实例化(因此它在定义
    map
    变量之前实例化。将其移动到
    initialize
    函数内部

  • marker.setMap
    函数将
    google.maps.Map
    对象作为其参数,这是不正确的:

    marker.setMap(google.maps.MapTypeId.ROADMAP);
    
  • 应该是:

    marker.setMap(map);
    
    var marker = new google.maps.Marker({
        position: google.maps.LatLng(36, -110),
        title:"Hello World!",
        map: map,
    });
    
  • 这是不正确的,位置必须是
    google.maps.LatLng
    对象或
    google.maps.LatLngLiteral
    (36,-110)
    两者都不是,并且
    map
    属性必须是
    google.maps.LatLng
    ;这是:

    var marker = new google.maps.Marker({
      position: (36, -110),
      title:"Hello World!",
      map: (google.maps.MapTypeId.ROADMAP),
    });
    
  • 应该是:

    marker.setMap(map);
    
    var marker = new google.maps.Marker({
        position: google.maps.LatLng(36, -110),
        title:"Hello World!",
        map: map,
    });
    

    代码片段:

    var映射;
    函数初始化(){
    变量映射选项={
    缩放:17,
    中心:新google.maps.LatLng(36,-110),
    mapTypeId:google.maps.mapTypeId.ROADMAP,
    样式:样式数组,
    滚轮:错误,
    };
    map=new google.maps.map(document.getElementById('map'),
    地图选项);
    var marker=new google.maps.marker({
    位置:新google.maps.LatLng(36,-110),
    标题:“你好,世界!”,
    地图:地图,
    });
    marker.setMap(map);
    }
    google.maps.event.addDomListener(窗口“加载”,初始化);
    var styleArray=[{
    featureType:“全部”,
    样式:[{
    饱和度:-80
    }]
    }, {
    功能类型:“道路.干线”,
    elementType:“几何体”,
    样式:[{
    色调:“00ffee”
    }, {
    饱和度:50
    }]
    }, {
    featureType:“poi.business”,
    elementType:“标签”,
    样式:[{
    能见度:“关闭”
    }]
    }];
    google.maps.event.addDomListener(窗口“加载”,初始化);
    html,
    身体
    #地图{
    身高:100%;
    宽度:100%;
    边际:0px;
    填充:0px
    }

    显示标记的4个步骤

    • 将密钥放入JS库。如下所示:
      
      https://maps.googleapis.com/maps/api/js?sensor=false&key=[你的谷歌钥匙]
      
      详情请访问

    • 将创建标记的代码放入initialize方法中,只需确保在创建映射后对其进行初始化即可

    • 标记位置应该是一个实例
      new google.maps.LatLng(36,-110)
      ,而不是您的代码
      (36,-110)
    • marker.setMap
      方法是不必要的,我们可以删除它