gpt4 book ai didi

java - Google map 混搭意外错误

转载 作者:行者123 更新时间:2023-12-01 14:27:07 24 4
gpt4 key购买 nike

我正在谷歌地图和 Songkick 之间进行混搭,但是我遇到了一个我不明白的错误。该程序通过一个小程序进行连接,以获取音乐会和地点的列表。然后它以字符串形式传递该列表,并用 | 分隔。到 javascript 方法测试。在那里它应该创建一个 LatLng 对象。这是我的 html 文件代码。

<!DOCTYPE html>
<html>
<head>
<script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyCYstt2SQVTX52XZ-hhvt1Smd9UZTTqDho&sensor=false">
</script>
<script>
function initialize()
{
var mapProp = {center:new google.maps.LatLng(51.508742,-0.120850), zoom:5, mapTypeId:google.maps.MapTypeId.ROADMAP};
var map=new google.maps.Map(document.getElementById("googleMap") ,mapProp);
}

function test(name, lat, lon)
{
var names = name.split("|");
var lats = name.split("|");
var lons = name.split("|");

for(int i = 0; i<names.length; i++)
{
var myLatlng = new google.maps.LatLng(lats[i],lons[i]);
}
}

google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="googleMap" style="width:600px;height:600px;"></div>

<applet code=GreendayConcerts.GreenDayConcerts.class
archive="Applet.jar"
width=120 height=120>
</applet>
</body>
</html>

这是我的java代码

public class GreenDayConcerts extends Applet
{
public void init()
{
try
{
URL url = new URL("http://api.songkick.com/api/3.0/artists/269937/calendar.xml?apikey=lKK1RXr7dIu9fhIw");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(url.openStream());
Element resultsPage = (Element) doc.getElementsByTagName("resultsPage").item(0);
Element results = (Element) resultsPage.getElementsByTagName("results").item(0);
NodeList events = results.getElementsByTagName("event");
StringBuffer names = new StringBuffer();
StringBuffer lats = new StringBuffer();
StringBuffer lons = new StringBuffer();

for(int i = 0; i<events.getLength(); i++)
{
Element event = (Element) events.item(i);
names.append("|"+event.getAttribute("displayName"));
Element location = (Element) event.getElementsByTagName("location").item(0);
lats.append("|"+Float.valueOf(location.getAttribute("lat")));
lons.append("|"+Float.valueOf(location.getAttribute("lng")));
}

String name = names.toString();
String lat = lats.toString();
String lon = lons.toString();
name = name.replaceFirst("[|]", "");
lat = lat.replaceFirst("[|]", "");
lon = lon.replaceFirst("[|]", "");
JSObject.getWindow(this).call("test", new Object[]{name, lat, lon});
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e.getLocalizedMessage());
}
}
}

这一行 var myLatlng = new google.maps.LatLng(lats[i],lons[i]);似乎是造成问题的原因

我也是 js 新手,但我在 java 方面很先进。

编辑:我收到的错误是 JavaScript 对象上没有这样的方法“测试”。然而,当删除 for 循环时,它似乎工作正常。

最佳答案

问题是我已经完成了

    for(int i = 0; i<events.getLength(); i++)

应该是

for(var i = 0; i<events.getLength(); i++)

关于java - Google map 混搭意外错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17123579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com