Я добавил geoxml3.js в свой проект GWT и добавил <script type="text/javascript" src="geoxml3.js"></script>
в свой хост-файл html.GWT: Основная визуализация KML не работает
В моем исходном файле Java у меня есть:
// KML utils
public final native JavaScriptObject createKmlParser(JavaScriptObject mapId) /*-{
var myParser = new $wnd.geoXML3.parser({
map : mapId
});
return myParser;
}-*/;
public final native void showKml(JavaScriptObject parser, String kml) /*-{
parser.parseKmlString(kml);
}-*/;
public final native void hideKml(JavaScriptObject parser) /*-{
parser.hideDocument();
}-*/;
public void setupKmlLayer(final MapWidget mapWidget) {
final JavaScriptObject jsoParser = createKmlParser(mapWidget.getJso());
try {
showKml(jsoParser, "cta.kml");
} catch (final JavaScriptException jse) {
}
}
и его называют как:
setupKmlLayer(mapWidget);
KML-файл находится в том же пакете, где этот файл Java присутствует.
Я получил файл KML с официальной страницы Google: http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml
Любые советы, пожалуйста
Я не могу действительно поможет вам на kml, но было бы полезно, если бы вы могли описать, что на самом деле происходит. Является ли нативный вызов на странице, вы можете отлаживать собственную функцию, ... дополнительная информация будет полезна. – thst
Не знаю, как отлаживать собственный код, но я получаю исключение в showKml (jsoParser, «cta.kml»); выше. Я попытался поставить предупреждение внутри блока catch. – EMM
Вы используете SuperDevMode и хром JS-отладчик? Там должен быть класс в исходных картах, и вы должны найти реальный собственный код, если вы не обфускаете во время разработки. – thst