我正在使用谷歌地图V3,我想:
将地图的中心设置为特定的latlng.我在用:
map.setCenter(new google.maps.LatLng(mylat,mylong));
Run Code Online (Sandbox Code Playgroud)在该中心点设置一个点.我目前正在使用:
var point = new google.maps.LatLng(mylat,mylong);
marker = map_create_marker(point,"My Popup",map_icon_red);
Run Code Online (Sandbox Code Playgroud)
有了这个功能:
function map_create_marker(point,html,icon) {
var marker = new google.maps.Marker({
position: point,
map: map,
icon: icon,
shadow: map_icon_shadow
});
if(html!="") {
var infowindow = new google.maps.InfoWindow({
content: html
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
}
return marker;
}
Run Code Online (Sandbox Code Playgroud)使用上述相同的方法定位更多标记
问题是,当我像上面那样设置中心时,它只会显示第一个标记.但如果我没有设置中心,它会显示所有标记.我怎样才能让他们同时工作?
这是完整的JavaScript代码:
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript" language="JavaScript">
var map;
var map_icon_green = new google.maps.MarkerImage(
"http://mysite.com/green_pointer.png",
new google.maps.Size(12,20),
new google.maps.Point(0,0));
var map_icon_blue = new google.maps.MarkerImage(
"http://mysite.com/blue_pointer.png",
new …Run Code Online (Sandbox Code Playgroud) 这段代码一直有效,直到我昨晚更新.
代码在我的localhost上完美运行,但是我的测试服务器上出现错误.错误消息(来自Firebug)是"map.set_center is not a function".
那为什么这不再适用于我的服务器呢?
function googleMapInit()
{
if (jQuery('#map_canvas').length > 0) {
var currentLocation = jQuery('#geomap_ddlCity :selected').text() + ', ' + jQuery('#geomap_ddlCountry :selected').text();
var options = {zoom: 14, mapTypeId: google.maps.MapTypeId.ROADMAP }
var map = new google.maps.Map(document.getElementById("map_canvas"), options);
var geocoder = new google.maps.Geocoder();
//Center map for current selected city
geocoder.geocode(
{
address: currentLocation}, function(results, status)
{
if (status == google.maps.GeocoderStatus.OK && results.length) {
alert(results[0].geometry.location);
map.set_center(results[0].geometry.location);
} else
{
var oslo = new google.maps.LatLng(59.9167, 10.75);
map.set_center(oslo);
} …Run Code Online (Sandbox Code Playgroud)