2015-01-15 123 views
-1

我的程序现在将输入信息作为消息和位置,然后它会将地图中心更改为新位置并在那里显示消息。下面是相关的代码段(可根据要求提供完整的代码)Google Maps API:错误位置的InfoWindow

function submitPosition(position){ 
    var messageContent = $('#message').val(); 
    var dateTime = new Date(); 

    var px = position.coords.latitude; 
    var py = position.coords.longitude; 
    var newLoc = new google.maps.LatLng(px, py); 

    db.push({ 
    author: "Anynomous", 
    message: messageContent, 
    date: dateTime.toString(), 
    location: newLoc 
    }); 
    map.setCenter(newLoc, 5); 
    var infoWindow = new google.maps.InfoWindow({ 
    content: "<p>" + messageContent + "</p>", 
    location: newLoc 
    }); 
    infoWindow.open(map); 
} 

然而,只有在地图上放置在正确的中心,并且该消息是关闭的。我不明白到底发生了什么。

+0

试着用'infoWindow..setContent :“

‘的messageContent + +’

”',我从来没有使用位置信息窗口上,但付诸'infoWindow.location'或'setLocation',林不知道。 – Ethaan

+1

你可以把完整的代码给jsfiddle吗?所以我可以检查你。 – joydesigner

+0

寻求调试帮助的问题(“为什么这个代码不工作?”)必须包含所需的行为,特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题陈述的问题对其他读者无益。请参阅:[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 – geocodezip

回答

0

如果您使用的地理定位可添加位置,你需要添加选项,你的信息窗口,这样下面:

var infowindow = new google.maps.InfoWindow({ 
    map: map, 
    position: pos, 
    content: 'Your Location.' 
}); 

尝试在我的小提琴此代码段:here

如果您需要有关信息窗口的选项的细节,请阅读this ..

可能对你有点帮助..