我有一个带有标记和infowindowsfew的谷歌地图。 infowindows的文本来自XML文档。显示地图时,某些信息窗显示所有文本,而其他信息则不显示。例如,一些较长的文本显示XML中所写的内容,而一些较短的文本字符串不显示最后四个字符。所有的信息都应该以Trocken Bach结束。下面是一个示例(注意:我还不能包含图片。您可以在以下位置查看:http://tbk-dk.com/dogMapMarkers/markers.html):
不完整的显示:Cira vom Trocken但XML文档包含的文本Cira vom Trocken Bach比下一个示例短。
完整显示:Franci vom Trocken Bach显示XML文档中的全文,但此文本比上一篇文章更长。
以下是我开发的代码:
$(document).ready(function() {
$("#map").css({
height: 700,
width: 800
});
var myLatLng = new google.maps.LatLng(xxxx, xxxx);
MYMAP.init('#map', myLatLng, 11);
$("#showmarkers").ready(function(e){
MYMAP.placeMarkers('dog-markers.xml');
});
});
var MYMAP = {
map: null,
bounds: null
}
MYMAP.init = function(selector, latLng, zoom) {
var myOptions = {
zoom:zoom,
center: latLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
this.map = new google.maps.Map($(selector)[0], myOptions);
this.bounds = new google.maps.LatLngBounds();
}
MYMAP.placeMarkers = function(filename) {
$.get(filename, function(xml){
$(xml).find("marker").each(function(){
var name = $(this).find('name').text();
var address = $(this).find('address').text();
// create a new LatLng point for the marker
var lat = $(this).find('lat').text();
var lng = $(this).find('lng').text();
var point = new google.maps.LatLng(parseFloat(lat),parseFloat(lng));
// extend the bounds to include the new point
MYMAP.bounds.extend(point);
var marker = new google.maps.Marker({
position: point,
map: MYMAP.map
});
var infoWindow = new google.maps.InfoWindow();
var html='<strong>'+name+'</strong.><br />'+address;
google.maps.event.addListener(marker, 'mouseover', function() {
infoWindow.setContent(html);
infoWindow.open(MYMAP.map, marker);
});
google.maps.event.addListener(marker,'mouseout', function() {
infoWindow.close();
});
MYMAP.map.fitBounds(MYMAP.bounds);
});
});
}
谢谢大家帮忙解决这个问题。
答案 0 :(得分:0)
尝试将属性white-space:nowrap添加到强标记