gpt4 book ai didi

google-maps - 小型 Google map 信息窗口 - 小于 200 像素

转载 作者:行者123 更新时间:2023-12-04 20:58:40 26 4
gpt4 key购买 nike

我有一个宽度为 225 的 map_canvas。

我希望我的信息框小于这个(例如 150 像素)。

这可能吗?我尝试了 maxWidth 并添加样式,但似乎没有任何效果。

可以在下面找到一个屏幕(在 imgshack 上):alt text

还,
我正在使用谷歌地图 v3

Javascript:

var results_coods;
var map_2;
var marker_2;
var infowindow_2;

function call_gmap()
{
if($('#map_text').attr('lat')){

var lat = Number($('#map_text').attr('lat').replace(",","."));
var lng = Number($('#map_text').attr('long').replace(",","."));
initialize(lat,lng);
/*
var lat= '51.0153389';
var lng = '2.7253832';
*/

}
}

function initialize(lat,lng) {

var latlng = new google.maps.LatLng(lat,lng);
var myOptions = {
zoom: 13,
center: latlng,
disableDefaultUI: true,
navigationControl: true,
navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
draggable: false,
scaleControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
};

var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

var infowindow = new google.maps.InfoWindow({
content: $('#map_text').html(),
maxWidth: 150
});

var image = 'beachflag.png';
var marker = new google.maps.Marker({
position: latlng,
map: map
});
infowindow.open(map,marker);
google.maps.event.addListener(
marker, 'click', function() {
infowindow.open(map,marker);

});
google.maps.event.trigger(map, 'resize');
map.setZoom( map.getZoom() );

}



function GcodeAddress()
{
var map;
geocoder = new google.maps.Geocoder();
var address = $('#map_address').html();

if (geocoder) {
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var myOptions = {
zoom: 13,
center: results[0].geometry.location,
navigationControl: false,
scaleControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
};

var infowindow = new google.maps.InfoWindow({
content: $('#map_text').html()
});

map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
results_coods = results[0].geometry.location;
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
infowindow.open(map,marker);
google.maps.event.addListener(
marker, 'click', function() {
infowindow.open(map,marker);
});

google.maps.event.trigger(map, 'resize');

marker_2 = marker;
map_2 = map;
infowindow_2 = infowindow;
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}


}
function resizeMap()
{
//hiervan komt 1 error, de andere van infowindow
google.maps.event.trigger(map_2, 'resize');
map_2.setCenter(results_coods);
infowindow_2.open(map_2,marker_2);
}

Javascript,html页面底部:

$(文档).ready(函数($) {
GcodeAddress();
调整大小映射();
});


HTML (VB.Net):
    '-- Google Map

g_map_text.Text = "<div id=""map_canvas"" style=""width: 225px; height: 225px; position: relative;"" /></div>" & vbCrLf
g_map_text.Text &= String.Format("<div id='map_text' style=""display:none;width:150px;"">{0}</div>", LoadKantoor)
g_map_text.Text &= String.Format("<div id='map_address' style='display:none;' >{0}</div>", Bedrijf.Bedrijf("postalcode") & " " & Bedrijf.Bedrijf("city") & "," & Bedrijf.Bedrijf("address"))

最佳答案

一种更简单的方法是使用 CSS 设置样式。您需要使用自定义 CSS 将 infoWindow 的内容包装在 div 中。

Javascript:

marker.openInfoWindowHtml('<div class="iwContainer">' + yourContent + '</div>'); 

CSS:
.iwContainer { 
width: 300px;
height: 200px;
}

您是否在调用打开之前设置信息窗口的 maxWidth,如 here 所述

编辑:

我又看了一遍,看起来还不错。我不明白为什么它不起作用。

您可以改用 InfoBox.js 吗?

API 引用: http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/docs/reference.html

下载JS: http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/src/

示例: http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/examples/

让我知道你是怎么办的。

关于google-maps - 小型 Google map 信息窗口 - 小于 200 像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3140229/

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