Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 TypeError:g是未定义的Google地图API_Javascript_Jquery_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript TypeError:g是未定义的Google地图API

Javascript TypeError:g是未定义的Google地图API,javascript,jquery,google-maps,google-maps-api-3,Javascript,Jquery,Google Maps,Google Maps Api 3,我正在使用谷歌地图API。我的申请应按以下方式进行: 用户单击谷歌地图,表单将在信息窗口中打开 单击“下一步”时,另一个窗体应在完全相同的坐标上打开 问题就在这里,我无法在这个位置打开第二个表单,并得到以下错误 TypeError:g是未定义的源文件: 第8行 下面是我的代码&我相信问题就在这里 infowindowtwo.open(map,newmarker) var标记; var信息窗口; var-infowindwoo; 函数初始化(){ var latlng=新的google.ma

我正在使用谷歌地图API。我的申请应按以下方式进行:

  • 用户单击谷歌地图,表单将在信息窗口中打开
  • 单击“下一步”时,另一个窗体应在完全相同的坐标上打开 问题就在这里,我无法在这个位置打开第二个表单,并得到以下错误
TypeError:g是未定义的源文件: 第8行

下面是我的代码&我相信问题就在这里

infowindowtwo.open(map,newmarker)


var标记;
var信息窗口;
var-infowindwoo;
函数初始化(){
var latlng=新的google.maps.latlng(37.4419,-122.1419);
变量选项={
缩放:13,
中心:拉特林,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
var map=new google.maps.map(document.getElementById(“map”),选项);
var html=“”+
“姓名:”+
“地址:”+
“隐藏:”+
“类型:”+
“酒吧”+
“餐厅”+
" " +
"";
infowindow=新建google.maps.infowindow({
内容:html
});
google.maps.event.addListener(映射,“单击”,函数(事件){
//在这里做标记
marker=新的google.maps.marker({
位置:event.latLng,
地图:地图
});
google.maps.event.addListener(标记“单击”,函数(){
$(“#测试”).val(event.latLng);
信息窗口。打开(地图、标记);
});
});
}
//-------------------------------------------------------------------------
函数phasetwo()
{
警报(123);
var testp=$(“#test”).val();
警报(testp);
var htmltwo=“”+
“名称2:”+
“类型2:”+
“酒吧”+
“餐厅”+
" " +
"";
infowindowtwo=新建google.maps.InfoWindow({
内容:htmltwo
});
var newmarker=new google.maps.Marker({
职位:testp,
地图:地图,
标题:htmltwo
});
infowindow.close();
//infowindowtwo.open(map,newmarker);
警报(2);
infowindowtwo.open(map,newmarker);
警惕(3);
//marker.push(newmarker);
}
函数saveData(){
var name=escape(document.getElementById(“name”).value);
var address=escape(document.getElementById(“address”).value);
var type=document.getElementById(“type”).value;
var latlng=marker.getPosition();
var url=“phpsqlinfo\u addrow.php?name=“+name+”&address=“+address+
“&type=“+type+”&lat=“+latlng.lat()+”&lng=“+latlng.lng()”;
下载url(url、函数(数据、响应代码){
if(responseCode==200&&data.length>=1){
infowindow.close();
document.getElementById(“消息”).innerHTML=“位置已添加。”;
}
});
}
函数下载url(url,回调){
var请求=window.ActiveXObject?
新的ActiveXObject('Microsoft.XMLHTTP'):
新的XMLHttpRequest;
request.onreadystatechange=函数(){
if(request.readyState==4){
request.onreadystatechange=doNothing;
回调(request.responseText、request.status);
}
};
打开('GET',url,true);
请求发送(空);
}
函数doNothing(){}

谢谢。

我在您的代码中发现一个javascript错误
InvalidValueError:setMap:不是Map的实例;并且不是StreetViewPanorama的实例,因为
map
变量是initialize函数的局部变量。最简单的修复方法,使其全局化(将声明移到initialize函数之外,在函数运行时初始化):

一旦解决了这个问题,我会得到一个javascript错误:
InvalidValueError:setPosition:不是LatLng或LatLngLiteral:不是对象

您对
testp
有问题,它是字符串(比如“(37.46297753913022,-122.15921401977539)”,而不是
LatLng
LatLngLiteral

您可以对其进行分析以生成有效的LatLng(或LatLngLiteral):

代码片段:

var标记;
var信息窗口;
var信息窗口2;
var映射;
函数初始化(){
var latlng=新的google.maps.latlng(37.4419,-122.1419);
变量选项={
缩放:13,
中心:拉特林,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=新的google.maps.map(document.getElementById(“map”),选项);
var html=“”+
“姓名:”+
“地址:”+
“隐藏:”+
“类型:”+
“酒吧”+
“餐厅”+
" " +
"";
infowindow=新建google.maps.infowindow({
内容:html
});
google.maps.event.addListener(映射,“单击”,函数(事件){
//在这里做标记
marker=新的google.maps.marker({
位置:event.latLng,
地图:地图
});
google.maps.event.addListener(标记“单击”,函数(){
$(“#测试”).val(event.latLng);
信息窗口。打开(地图、标记);
});
});
}
//-------------------------------------------------------------------------
函数phasetwo(){
//警报(123);
var testp=$(“#test”).val();
//警报(testp);
var htmltwo=“”+
“名称2:”+
“类型2:”+
“酒吧”+
“餐厅”+
" " +
"";
infowindowtwo=新建google.maps.InfoWindow({
内容:htmltwo
});
testp=testp.replace(/[{()}]/g',);
var coords=testp.split(',');
var pt=new google.maps.LatLng(coords[0],coords[1]);
var newmarker=new google.maps.Marker({
职位:pt,
地图:地图,
标题:htmltwo
});
infowindow.close();
//infowindowtwo.open(map,newmarker);
//警报(2);
信息窗口二。
<script type="text/javascript">
    var marker;
    var infowindow;
    var infowindwotwo;

   function initialize() {
      var latlng = new google.maps.LatLng(37.4419, -122.1419);
      var options = {
        zoom: 13,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      }
      var map = new google.maps.Map(document.getElementById("map"), options);


      var html = "<table>" +
                 "<tr><td>Name:</td> <td><input type='text' id='name'/> </td> </tr>" +
                 "<tr><td>Address:</td> <td><input type='text' id='address'/></td> </tr>" +
                  "<tr><td>hidden:</td> <td><input type='text' value='aa' id='latlong' /></td> </tr>" +
                 "<tr><td>Type:</td> <td><select id='type'>" +
                 "<option value='bar' SELECTED>bar</option>" +
                 "<option value='restaurant'>restaurant</option>" +
                 "</select> </td></tr>" +
                 "<tr><td></td><td><input type='button' id='btnone' value='Next' onclick='phasetwo()'/></td></tr>";

    infowindow = new google.maps.InfoWindow({
     content: html
    });
      google.maps.event.addListener(map, "click", function(event) {
     //making marker here
        marker = new google.maps.Marker({
          position: event.latLng,
          map: map
        });
      google.maps.event.addListener(marker, "click", function() {
             $("#test").val(event.latLng);
             infowindow.open(map, marker);
        });
    });
  }
//-------------------------------------------------------------------------
    function phasetwo()
    {
        alert(123);
         var testp = $("#test").val();
         alert(testp);
         var htmltwo = "<table>" +
                 "<tr><td>Name2:</td> <td><input type='text' id='name'/> </td> </tr>" +
                 "<tr><td>Type2:</td> <td><select id='type'>" +
                 "<option value='bar' SELECTED>bar</option>" +
                 "<option value='restaurant'>restaurant</option>" +
                 "</select> </td></tr>" +
                 "<tr><td></td><td><input type='button' value='Save ' onclick='phasetwo()'/></td></tr>";


                infowindowtwo = new google.maps.InfoWindow({
                 content: htmltwo
                });

                var newmarker = new google.maps.Marker({
                position: testp,
                map: map,
                title: htmltwo
            });
        infowindow.close();
            //  infowindowtwo.open(map, newmarker);
                alert(2);
            infowindowtwo.open(map, newmarker);
                alert(3);
        // marker.push(newmarker);
        }

   function saveData() {
      var name = escape(document.getElementById("name").value);
      var address = escape(document.getElementById("address").value);
      var type = document.getElementById("type").value;
      var latlng = marker.getPosition();

      var url = "phpsqlinfo_addrow.php?name=" + name + "&address=" + address +
                "&type=" + type + "&lat=" + latlng.lat() + "&lng=" + latlng.lng();
      downloadUrl(url, function(data, responseCode) {
        if (responseCode == 200 && data.length >= 1) {
          infowindow.close();
          document.getElementById("message").innerHTML = "Location added.";
        }
      });
    }

    function downloadUrl(url, callback) {
      var request = window.ActiveXObject ?
          new ActiveXObject('Microsoft.XMLHTTP') :
          new XMLHttpRequest;

      request.onreadystatechange = function() {
        if (request.readyState == 4) {
          request.onreadystatechange = doNothing;
          callback(request.responseText, request.status);
        }
      };
    request.open('GET', url, true);
      request.send(null);
    }
  function doNothing() {}
    </script>
var map; 

function initialize() {
  var latlng = new google.maps.LatLng(37.4419, -122.1419);
  var options = {
    zoom: 13,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  map = new google.maps.Map(document.getElementById("map"), options);
testp = testp.replace(/[{()}]/g, '');
var coords = testp.split(',');
var pt = new google.maps.LatLng(coords[0],coords[1]);
var newmarker = new google.maps.Marker({
  position: pt,
  map: map,
  title: htmltwo
});