我的一位朋友已经将谷歌地球插件嵌入到C#用户控件中。所有的工作正常,但当你关闭窗口,我们收到和“未指定的错误”与选项继续运行的脚本与否。从我们的追踪中可以看出,这是谷歌正在放入页面的脚本造成的。有任何想法吗?C#谷歌地球错误
Q
C#谷歌地球错误
2
A
回答
2
下面是一个例子,通过我,涵盖你所遇到的问题(见注释) http://fraserchapman.blogspot.com/2008/08/google-earth-plug-in-and-c.html
C#/谷歌地球API的集成另外,这里是我的另一个项目,它使用COM Google插件类型库(plugin_ax.dll)转换为通用语言运行时程序集中的等效定义。它可能有些用处。 http://fraserchapman.blogspot.com/2008/12/google-earth-plugin-control-library.html
0
我们现在已经在IE和FF中都试过了。工作正常。任何想法为什么错误只会在接近?我们可以以某种方式禁用它吗?这是我们的代码。
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<html>
<head>
<script src="http://www.google.com/jsapi?key=ABQIAAAAzghEPRV_D0MDzTELJ4nkXBT2AlVLQD8Rz4_aVbiXesLoyhRIMBRo399nnxv9aY-fqnkVGgTgR-pTsg">
</script>
<script>
google.load("earth", "1");
var ge = null;
var placemark;
function init(){
google.earth.createInstance("map3d", initCallback, failureCallback);
}
function initCallback(object){
ge = object;
ge.getWindow().setVisibility(true);
ge.getNavigationControl().setVisibility(ge.VISIBILITY_SHOW);
ge.getLayerRoot().enableLayerById(ge.LAYER_TERRAIN, false);
placemark = ge.createPlacemark('');
placemark.setName("Current Position");
// Create style map for placemark
var normal = ge.createIcon('');
normal.setHref('http://maps.google.com/mapfiles/kml/paddle/red-circle.png');
var iconNormal = ge.createStyle('');
iconNormal.getIconStyle().setIcon(normal);
var highlight = ge.createIcon('');
highlight.setHref('http://maps.google.com/mapfiles/kml/paddle/red-circle.png');
var iconHighlight = ge.createStyle('');
iconHighlight.getIconStyle().setIcon(highlight);
var styleMap = ge.createStyleMap('');
styleMap.setNormalStyle(iconNormal);
styleMap.setHighlightStyle(iconHighlight);
placemark.setStyleSelector(styleMap);
var options = ge.getOptions();
options.setStatusBarVisibility(true);
options.setScaleLegendVisibility(true);
}
function failureCallback(object){
// Gracefully handle failure.
alert("Error");
}
function changeViewAngle(angle){
var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_ABSOLUTE);
lookAt.setTilt(angle);
ge.getView().setAbstractView(lookAt);
}
function ShowMarker(){
ge.getFeatures().appendChild(placemark);
}
function MoveMarker(lon, lat){
// Create point
var la = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
var point = ge.createPoint('');
point.setLatitude(lat);
point.setLongitude(lon);
placemark.setGeometry(point);
}
function HideMarker(){
ge.getFeatures().removeChild(placemark);
}
function SetPosition(lon, lat, heading){
var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
lookAt.setLatitude(lat);
lookAt.setLongitude(lon);
lookAt.setHeading(heading);
ge.getView().setAbstractView(lookAt);
}
function SetAltitude(alt){
var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
lookAt.set(lookAt.getLatitude(), lookAt.getLongitude(), 0, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, lookAt.getTilt(), alt);
ge.getView().setAbstractView(lookAt);
}
function ResizeMap(w, h){
var map = document.getElementById('map3d_container');
map.style.height = h;
map.style.width = w;
}
function AddKML(kml){
var parseKML = ge.parseKml(kml);
ge.getFeatures().appendChild(parseKML);
return ge.getFeatures().getLastChild().getName();
}
function RemoveKML(kmlName){
if (ge.getFeatures().hasChildNodes()) {
var nodes = ge.getFeatures().getChildNodes();
for (var i = 0; i < nodes.getLength(); i++) {
var child = nodes.item(i);
if (child.getName() == kmlName) {
ge.getFeatures().removeChild(child);
}
}
}
}
function OptionsChanged(nav, status, scale, grid, map, terrain, road, border, building){
var options = ge.getOptions();
var form = document.options;
if (nav) {
ge.getNavigationControl().setVisibility(ge.VISIBILITY_SHOW);
}
else {
ge.getNavigationControl().setVisibility(ge.VISIBILITY_HIDE);
}
options.setStatusBarVisibility(status);
options.setScaleLegendVisibility(scale);
options.setGridVisibility(grid);
options.setOverviewMapVisibility(map);
ge.getLayerRoot().enableLayerById(ge.LAYER_TERRAIN, terrain);
ge.getLayerRoot().enableLayerById(ge.LAYER_ROADS, road);
ge.getLayerRoot().enableLayerById(ge.LAYER_BORDERS, border);
ge.getLayerRoot().enableLayerById(ge.LAYER_BUILDINGS, building);
}
</script>
</head>
<body onload='init()'>
<center>
<div id='map3d_container' style='border: 1px solid silver; height: 510px; width: 767px;'>
<DIV id=map3d style="HEIGHT: 100%">
</DIV>
</div>
</center>
</body>
</html>
0
我跑了样本,关闭标签时没有得到任何错误。
0
试试这个
yourWebBrowser1.Document.Write(的String.Empty);
当你关闭应用程序。
我的问题: 你能告诉我如何在C#应用程序中使用AddKML(kml)吗?通过字符串或文件路径,我尝试了两个。 我正在寻找一种方式来解析KML文件,...
相关问题
- 1. 谷歌地球旅游错误
- 2. 谷歌地球产生错误ERR_MAX_EARTH_PROCESSES
- 3. 谷歌地球KML
- 4. 谷歌地球GEOdata?
- 5. 谷歌地球插件alt在IE上的错误10.00错误
- 6. 地球在谷歌地图
- 7. 在c#webbrowser显示谷歌地球
- 8. 谷歌地图错误:谷歌地图API错误:MissingKeyMapError
- 9. highcharts JSON谷歌地球
- 10. 谷歌地球KmlModel海拔
- 11. 谷歌地球API搜索
- 12. 如何嵌入谷歌代码到谷歌地球气球
- 13. “地球”按钮没有显示从谷歌地图切换到谷歌地球
- 14. 谷歌地图API错误
- 15. 谷歌地图Joomla错误
- 16. 谷歌地图API错误?
- 17. 谷歌地图错误“'addDomListener'undefined”
- 18. 谷歌地图API错误
- 19. 谷歌地图V3错误
- 20. 谷歌地图API错误
- 21. 谷歌地图错误
- 22. 谷歌地图错误
- 23. 谷歌地图错误
- 24. 谷歌地图错误
- 25. 谷歌地球加载KML 2.2但不是谷歌地图
- 26. 谷歌地图和谷歌地球应用程序
- 27. 谷歌地球VS谷歌地图为低带宽用户
- 28. 谷歌地图呈现谷歌地球的KML反相
- 29. 地理编码使用谷歌地球
- 30. js删除谷歌地球的地标
我不知道,这是一个朋友密码。抱歉! – 2008-12-16 00:03:42