Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不能使用红色属性';推动';未定义的_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 不能使用红色属性';推动';未定义的

Javascript 不能使用红色属性';推动';未定义的,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我有一个简单的自定义风格的谷歌地图,绘制地图效果很好,但在我想要绘制标记的地方,我得到了一个错误:“不能用未定义的红色属性‘push’”。似乎标记没有定义,但我不知道为什么 var i = 0; var map, markersArray, marker = []; var geocoder; var latitude = $(".js-coordinates").data("latitude"); var longitude = $(".js-coordinates").dat

我有一个简单的自定义风格的谷歌地图,绘制地图效果很好,但在我想要绘制标记的地方,我得到了一个错误:“不能用未定义的红色属性‘push’”。似乎
标记
没有定义,但我不知道为什么

var i = 0;
var map,
    markersArray,
    marker = [];
var geocoder;
var latitude = $(".js-coordinates").data("latitude");
var longitude = $(".js-coordinates").data("longitude");

function init() {
    var mapOptions = {
        center: new google.maps.LatLng(47.621792911667455, 12.208831455490099),
        zoom: 15,
        gestureHandling: 'auto',
        fullscreenControl: false,
        zoomControl: false,
        disableDoubleClickZoom: true,
        mapTypeControl: false,
        scaleControl: false,
        scrollwheel: true,
        streetViewControl: false,
        draggable: true,
        clickableIcons: false,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        styles: [{
        "featureType": "landscape",
        "elementType": "labels",
        "stylers": [{ "visibility": "off" }] }, { "featureType": "transit", "elementType": "labels", "stylers": [{ "visibility": "off" }] }, { "featureType": "poi", "elementType": "labels", "stylers": [{ "visibility": "off" }] }, { "featureType": "water", "elementType": "labels", "stylers": [{ "visibility": "off" }] }, { "featureType": "road", "elementType": "labels.icon", "stylers": [{ "visibility": "off" }] }, { "stylers": [{ "hue": "#00aaff" }, { "saturation": -100 }, { "gamma": 2.15 }, { "lightness": 12 }] }, { "featureType": "road", "elementType": "labels.text.fill", "stylers": [{ "visibility": "on" }, { "lightness": 24 }] }, { "featureType": "road", "elementType": "geometry", "stylers": [{ "lightness": 57 }] }]
};

var mapElement = document.getElementById('googleMap');

map = new google.maps.Map(mapElement, mapOptions);
geocoder = new google.maps.Geocoder();

var locations = [{ "title": "Freisinger Holzbau GmbH",
    "address": "",
    "desc": "",
    "tel": "",
    "int_tel": "",
    "email": "",
    "web": "",
    "web_formatted": "",
    "open": "",
    "time": "",
    "lat": latitude,
    "lng": longitude,
    "vicinity": "Wildbichler Straße 1a, Ebbs",
    "open_hours": "",
    "marker": {
        "fillColor": "#4CAF50",
        "fillOpacity": 1,
        "strokeWeight": 0,
        "scale": 1.5,
        "path": "M10.2,9.6C4.5,9.6-0.1,14.3-0.1,20c0,5.7,10.3,12.1,10.3,16.6c0-4.5,10.3-10.9,10.3-16.6S15.9,9.6,10.2,9.6z M10.2,24.3c-2.4,0-4.4-2-4.4-4.4s2-4.4,4.4-4.4s4.4,2,4.4,4.4S12.6,24.3,10.2,24.3z", "anchor": { "x": 10, "y": 30 }, "origin": { "x": 0, "y": 0 }, "style": 2 }, "iw": { "address": true, "desc": true, "email": true, "enable": true, "int_tel": true, "open": true, "open_hours": true, "photo": true, "tel": true, "title": true, "web": true } }];

for (i = 0; i < locations.length; i++) {

    marker = new google.maps.Marker({
        icon: '/assets/images/marker.png',
        position: new google.maps.LatLng(locations[i].lat, locations[i].lng),
        map: map,
        title: locations[i].title,
        address: locations[i].address,
        desc: locations[i].desc,
        tel: locations[i].tel,
        int_tel: locations[i].int_tel,
        vicinity: locations[i].vicinity,
        open: locations[i].open,
        open_hours: locations[i].open_hours,
        photo: locations[i].photo,
        time: locations[i].time,
        email: locations[i].email,
        web: locations[i].web,
        iw: locations[i].iw
    });

    markersArray.push(marker);
   }
}
var i=0;
var映射,
markersArray,
标记=[];
var地理编码器;
变量纬度=$(“.js坐标”)。数据(“纬度”);
变量经度=$(“.js坐标”).data(“经度”);
函数init(){
变量映射选项={
中心:新google.maps.LatLng(47.621792911667455,12.208831455490099),
缩放:15,
手势处理:“自动”,
全屏控制:错误,
动物控制:错误,
禁用双击缩放:真,
mapTypeControl:false,
scaleControl:false,
滚轮:对,
街景控制:错误,
真的,
可单击图标:false,
mapTypeId:google.maps.mapTypeId.ROADMAP,
风格:[{
“特色类型”:“景观”,
“elementType”:“标签”,
“样式器”:[{“可见性”:“关闭”}、{“特征类型”:“运输”、“元素类型”:“标签”、“样式器”:[{“可见性”:“关闭”}]}、{“特征类型”:“poi”、“元素类型”:“标签”、“样式器”:[{“可见性”:“关闭”}]}、{“特征类型”:“水”、“元素类型”:“标签”、“样式器”:[{“可见性”:“关闭”}、{“特征类型”:“道路”,“元素类型”:“标签.图标”,“样式器”:[{“可见性”:“关闭”}],{“样式器”:[{“色调”:“#00aaff”},{“饱和度”:-100},{“伽马”:2.15},{“亮度”:12}]},{“特征类型”:“道路”,“元素类型”:“标签.文本.填充”,“样式器”:[{“可见性”:“打开”,{“亮度”:24},{“特征类型”:“几何体”,“样式器“:[{“亮度”:57}]}]
};
var mapElement=document.getElementById('googleMap');
map=新的google.maps.map(mapElement,mapOptions);
geocoder=新的google.maps.geocoder();
var地点=[{“标题”:“弗雷辛格-霍尔茨堡股份有限公司”,
“地址”:“地址”,
“描述”:“描述”,
“电话”:”,
“国际电话”:“,
“电子邮件”:“,
“网络”:“网络”,
“web_格式”:“,
“打开”:“打开”,
“时间”:“,
“纬度”:纬度,
“lng”:经度,
“附近”:“Wildbichler Straße 1a,低潮”,
“开放时间”:“,
“标记”:{
“fillColor”:“4CAF50”,
“不透明度”:1,
“冲程重量”:0,
“比例”:1.5,
“路径”是:“路径”是指“10.2、9.6 6 6 C44.5 5、9.6 6-0.1、14.3-0.1、10.3、12.1、10.3、12.1、10.1、10.1、10.1、10.1、10.1、10.1、10.1、10.1、10.1、10.3、10.1、10.3、10.1、10.1、10.1、10.1、10、10.3、10.1、10.1、10.3、10、10.3、10.1、10.3、10、10.1、10.1、10.1、10.3、10.3、10.1、10、10.1、10.1、10.1、10.3、10.3、10.1、10.3、10.3、10、10、10.1、10.3、10.3、3、10、10.1、10、10:0},“样式”:2},“iw”:{“地址”:true,“描述”:true,“电子邮件”:true,“启用”:trueint_tel:true,“open”:true,“open_hours”:true,“photo”:true,“tel”:true,“title”:true,“web”:true}];
对于(i=0;i
您没有初始化
映射
标记数组

var map,
    markersArray,
    marker = [];
markersArray
未定义,因此您可以从这里获取错误

markersArray.push(marker);
只需初始化该值即可解决问题

var map,
    markersArray = [],
    marker = [];

您应该初始化标记数组

var markersArray =[];

不是,markersArray未定义,不是第一行中的maker为此变量映射进行更改,markersArray=[],marker=[];难道不是所有的
google.maps
构造函数都是异步的吗?可能是重复的,谢谢你的回答!错误消失了,但是标记没有出现在地图上。知道为什么吗?你需要调试并检查一下。现在我明白了,错误是“经度”和“纬度”变量在脚本加载的点没有值d、 谢谢你的帮助!