【发布时间】:2016-02-07 02:06:52
【问题描述】:
我正在尝试向谷歌地图添加多个标记。数据来自 C# WPF。
这是 C# 代码:
private void Button_click(object sender, RoutedEventArgs e)
{
int[] lat = { 10, 30, 50, 70 };
int[] lon = { 10, 30, 50, 70 };
webBrowser1.InvokeScript("addMarker", new object[] { lat, lon });
}
这是嵌入在本地 html 文件中的 javascript 函数:
function addMarker(Lat,Long) {
for (var i=0;i<Lat.length; i++){
var latLng = new google.maps.LatLng(Lat[i],Long[i]);
var marker = new google.maps.Marker({
position: latLng,
title: 'Hello World!',
map: map
});
}
} // end of addMarker
当我用 VS 2015 编译这个程序并单击按钮来调用这个 js 脚本时,我总是收到一条错误消息,告诉我在 'var' 之后的这一行中应该有一个函数
for (var i=0;i<Lat.length; i++){
VS的异常报告是这样的: 来自 HRESULT 的 System.Runtime.InteropServices.COMException 异常:0x80020101 异常的位置就在这里:
webBrowser1.InvokeScript("addMarker", new object[] { lat, lon });
我对 Javascript 编程非常陌生。请帮忙。
【问题讨论】:
-
去掉for中的“var”,不需要。
-
按照您的建议,错误仍然存在。但是这次错误的位置被移到了'('的左侧。for (i=0; i
-
检查发送到函数的对象。我认为它的格式不是您的循环想要执行的方式。将
Lat和Log记录到控制台。 -
JS 中 Lat 的类型显示为“未知”,这行:alert(typeof(Lat));如何解决?
标签: javascript c# wpf google-maps