2012-12-14 88 views
0

我已經看到很多用於動態生成標記圖標上的數字的示例。 其中一個我發現是谷歌圖表apis。 This部分解決了我的問題。編輯我的代碼後,我能夠生成數字,如下所示。
但是可以添加一個像這樣的自定義圖標http://s7.postimage.org/wg6bu3jpj/pointer.png,然後通過它生成數字?用於Google地圖的動態編號的自定義圖標標記

function addMarker(id,location,address,facility,name,ratings) 
    { 


     marker = new google.maps.Marker(
     { 
      position: location, 
      map: map, 
      animation: google.maps.Animation.DROP, 
      icon: 'https://chart.googleapis.com/chart?chst=d_map_pin_letter&chld='+id+'|FF776B|000000', 
      shadow:'https://chart.googleapis.com/chart?chst=d_map_pin_shadow' 
     }); 

回答

0

此圖表api現在已被棄用,根據修訂後的「條款和條件」,谷歌將僅提供一年的支持。

我認爲最好的方法是在服務器端創建標記。如果您的應用程序需要顯示有限數量的標記(例如,一次最多顯示25個),那麼您可以將它們放在服務器上。圖像處理工具以Java或任何其他編程語言提供。

這是一個使用java的簡短片段。

BufferedImage image = null; 
try { 
    image = ImageIO.read(new File("/path/to/base/icon")); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

Graphics g = image.getGraphics(); 
g.setFont(g.getFont().deriveFont(30f)); 
g.drawString("1", x, y); // x,y are points where you want to add the number 
g.dispose(); 

try { 
    ImageIO.write(image, "png", new File("test.png")); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

您可以使用for循環來創建所需數量的標記標記。