Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps api 3 Google Maps API v3标记除了图标之外是不同的,为什么?_Google Maps Api 3 - Fatal编程技术网

Google maps api 3 Google Maps API v3标记除了图标之外是不同的,为什么?

Google maps api 3 Google Maps API v3标记除了图标之外是不同的,为什么?,google-maps-api-3,Google Maps Api 3,我有一些简单的谷歌地图代码,目前在地图上放置了三个标记。标记在不同的位置显示正确,标题和信息窗口不同,但设置为不同的图标显示相同 我看过很多其他的帖子,但似乎没有一个有相同的问题。代码如下: function codeAddressES(){ codeAddress("BN1 3EL","Title1","Here1", "Red"); codeAddress("BN1 4QU","Title2","Here2", "Yellow"); codeAddress("BN1 3DL

我有一些简单的谷歌地图代码,目前在地图上放置了三个标记。标记在不同的位置显示正确,标题和信息窗口不同,但设置为不同的图标显示相同

我看过很多其他的帖子,但似乎没有一个有相同的问题。代码如下:

function codeAddressES(){
   codeAddress("BN1 3EL","Title1","Here1", "Red");
   codeAddress("BN1 4QU","Title2","Here2", "Yellow");
   codeAddress("BN1 3DL","Title3","Here3", "Blue");
}


 function codeAddress(address,title,ptContent,ptImage) {
    var imgRed = 'http://maps.gstatic.com/mapfiles/ridefinder-images/mm_20_red.png'; 
    var imgBlue = 'http://maps.gstatic.com/mapfiles/ridefinder-images/mm_20_blue.png'; 
    var imgYellow = 'http://maps.gstatic.com/mapfiles/ridefinder-images/mm_20_yellow.png'; 

   switch (ptImage){
   case "Red":
       image = imgRed; 
       break;
   case "Blue":
       image = imgBlue; 
       break;
   case "Yellow":
       image = imgYellow; 
       break;
   }


  geocoder.geocode( { 'address': address}, function(results, status) {
  if (status == google.maps.GeocoderStatus.OK) {
    map.setCenter(results[0].geometry.location);
    var marker = new google.maps.Marker({
        map: map,
        position: results[0].geometry.location,
        title: title,
        icon: image
    });


  google.maps.event.addListener(marker, 'click', function() {
  var myHtml = '<strong>#' + ptContent+ '</strong><br/>' ;
  infoWindow.setContent(myHtml);
  infoWindow.open(map, marker);     

});
函数代码地址(){
代码地址(“BN1 3EL”、“标题1”、“此处1”、“红色”);
代码地址(“BN1 4QU”、“标题2”、“此处2”、“黄色”);
代码地址(“BN1 3DL”、“标题3”、“此处3”、“蓝色”);
}
功能代码地址(地址、标题、内容、图片){
var imgRed=http://maps.gstatic.com/mapfiles/ridefinder-images/mm_20_red.png'; 
var imgBlue=http://maps.gstatic.com/mapfiles/ridefinder-images/mm_20_blue.png'; 
var imgYellowhttp://maps.gstatic.com/mapfiles/ridefinder-images/mm_20_yellow.png'; 
开关(ptImage){
案例“红色”:
图像=imgRed;
打破
案例“蓝色”:
图像=imgBlue;
打破
案例“黄色”:
图像=imgYellow;
打破
}
geocoder.geocode({'address':address},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
map.setCenter(结果[0].geometry.location);
var marker=new google.maps.marker({
地图:地图,
位置:结果[0]。geometry.location,
标题:标题,,
图标:图像
});
google.maps.event.addListener(标记'click',函数(){
var myHtml='#'+ptContent+'
; setContent(myHtml); 信息窗口。打开(地图、标记); });
有人能给我指出正确的方向吗

谢谢

戈登

函数代码地址(){
代码地址(“BN1 3EL”、“标题1”、“此处1”、“红色”);
代码地址(“BN1 4QU”、“标题2”、“此处2”、“黄色”);
代码地址(“BN1 3DL”、“标题3”、“此处3”、“蓝色”);
}
功能代码地址(地址、标题、内容、图片){
var imgRed=http://maps.gstatic.com/mapfiles/ridefinder-images/mm_20_red.png'; 
var imgBlue=http://maps.gstatic.com/mapfiles/ridefinder-images/mm_20_blue.png'; 
var imgYellowhttp://maps.gstatic.com/mapfiles/ridefinder-images/mm_20_yellow.png'; 
开关(ptImage){
案例“红色”:
图像=imgRed;
打破
案例“蓝色”:
图像=imgBlue;
打破
案例“黄色”:
图像=imgYellow;
打破
}
地理编码地址(地址、标题、内容、图像);
}
功能地理编码地址(地址、标题、内容、图像){
geocoder.geocode({'address':address},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
map.setCenter(结果[0].geometry.location);
extend(结果[0].geometry.location);
var marker=new google.maps.marker({
地图:地图,
位置:结果[0]。geometry.location,
标题:标题,,
图标:图像
});
google.maps.event.addListener(标记'click',函数(){
var myHtml='#'+ptContent+'
; setContent(myHtml); 信息窗口。打开(地图、标记); }); }else警报(“地理代码失败,状态:+状态”); }); }
这是一个常见问题解答。地理编码是异步的。当回调函数运行时,所有请求都已发送,图标保留在最后一个值。您可以在地理编码器调用上使用函数闭包来修复它。您可以在搜索结果中找到一些示例/线索::-)@geocodezip非常感谢您花时间解释并展示一个示例,该示例已修复,并且一切正常。
    function codeAddressES(){
       codeAddress("BN1 3EL","Title1","Here1", "Red");
       codeAddress("BN1 4QU","Title2","Here2", "Yellow");
       codeAddress("BN1 3DL","Title3","Here3", "Blue");
    }


function codeAddress(address,title,ptContent,ptImage) {
     var imgRed = 'http://maps.gstatic.com/mapfiles/ridefinder-images/mm_20_red.png'; 
     var imgBlue = 'http://maps.gstatic.com/mapfiles/ridefinder-images/mm_20_blue.png'; 
     var imgYellow = 'http://maps.gstatic.com/mapfiles/ridefinder-images/mm_20_yellow.png'; 

    switch (ptImage){
    case "Red":
        image = imgRed; 
        break;
    case "Blue":
        image = imgBlue; 
        break;
    case "Yellow":
        image = imgYellow; 
        break;
    }
    geocodeAddress(address, title, ptContent,image); 

}

function geocodeAddress(address,title, ptContent,image) {
   geocoder.geocode( { 'address': address}, function(results, status) {
   if (status == google.maps.GeocoderStatus.OK) {
     map.setCenter(results[0].geometry.location);
     bounds.extend(results[0].geometry.location);
     var marker = new google.maps.Marker({
         map: map,
         position: results[0].geometry.location,
         title: title,
         icon: image
     });

     google.maps.event.addListener(marker, 'click', function() {
       var myHtml = '<strong>#' + ptContent+ '</strong><br/>' ;
       infoWindow.setContent(myHtml);
       infoWindow.open(map, marker);     
     });
   } else alert("Geocode failed, status: "+status);
  });
}