gpt4 book ai didi

javascript - 谷歌地图只显示部分

转载 作者:可可西里 更新时间:2023-11-01 01:36:47 25 4
gpt4 key购买 nike

我的 Google map 仅部分呈现,并且居中到错误的点(它应该以标记为中心)。见下文:

alt text

现在添加更多细节:

  • 它在 IE 中运行良好
  • 它看起来像在 FF 和 Chrome 中的屏幕截图。
  • 在 Chrome 中,只要我打开开发者控制台,它就会立即运行

尤其是最后一点是我最想知道的。我想打开开发者控制台会重新执行一些 JavaScript。

那么:我可以调用一个函数来重新执行 JavaScript,就像开发者控制台那样吗?

这是代码:

<script type="text/javascript">
{literal}
function initialize() {
if (GBrowserIsCompatible()) {

var map = new GMap2(document.getElementById("map")); //, { size : {width:600,height:600} }
map.addControl(new GLargeMapControl3D());
map.addControl(new GMapTypeControl());
map.addControl(new GScaleControl());
map.setCenter(new GLatLng(51.17689812200107, 9.84375), 5);
map.checkResize();

var geocoder = new GClientGeocoder();

function showPoint(lat, lon) {
if (lat != "" && lon != "") {
var point = new GLatLng(lat, lon);
map.setCenter(point, 10);
var marker = new GMarker(point, {draggable: true});
GEvent.addListener(marker, "dragstart", function() {
// map.closeInfoWindow();
});
GEvent.addListener(marker, "dragend", function() {
var newPoint = marker.getLatLng();
$('#lat').val(newPoint.lat());
$('#lon').val(newPoint.lng());
// marker.openInfoWindowHtml("Neue Koordinaten Lat: "+ newPoint.lat() +" Lon: "+ newPoint.lng());
});
map.addOverlay(marker);
}
}
{/literal}showPoint("{$gmap_lat}", "{$gmap_lon}");{literal}
}
}
{/literal}

这是我放置 div 的地方:

    <fieldset style="-moz-border-radius: 1em;  -webkit-border-radius: 1em;"> 
<legend>Karte</legend>
<div id="map" title="Lage von '{$name}'"><br>Die Karte wird geladen...<br><br>Hinweis: Damit dies funktioniert müssen Sie in Ihrem Browser JavaScript aktivieren</div>
Falls sich der Marker nicht auf der richtigen Position befinden sollte, bewegen Sie diesen mit Ihrer Maus auf die richtige Position.
<br>Länge: <input type="text" id="lat" name="lat" value="{$gmap_lat}">
Breite: <input type="text" id="lon" name="lon" value="{$gmap_lon}">
</fieldset>

在 div 上应用以下 CSS 规则:

alt text

最佳答案

发现问题。我在隐藏区 block ,GMaps 在里面

<div id="step2" style="display:none">

但是当 GMaps 加载时,似乎包含 map 的 block 可能不会被隐藏。

所以我改成这样

<div id="step2">

一切正常。但是因为我只是想在开始时显示“step1”,所以我做了一个

$('#step2').hide();

加载 map 后。

这确实是 Chrome 和 FF 的奇怪行为,但我很高兴它适用于此解决方法。感谢您的帮助。

关于javascript - 谷歌地图只显示部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4358582/

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