谷歌地图地理编码添加自定义标签?

时间:2016-03-03 16:23:38

标签: javascript php google-maps google-maps-api-3

在过去的一天左右,我一直在我的桌子上敲我的头,无法弄明白这一点。只要将标记添加到我的地图中,它们就会随机生成标签。这样会很好,但是在页面上调用PHP代码,以列出的顺序显示位置。此列表必须与标记匹配。我想使用位置数组中的数字作为我的标签,但无论我尝试什么,我都无法获得标签:locations [i] [2](或任何变体)。

我尝试在for循环中添加一个等于locations [i] [2]的变量,但它只是存储并显示在marker函数中调用变量时的最后一个数字。

希望这是有道理的。

org.dbunit.dataset.NoSuchTableException: category
org.dbunit.dataset.NoSuchTableException: Category
org.dbunit.dataset.NoSuchTableException: CATEGORY
//
<dataset>
<Category categoryId="9223372036854775806"
      categoryName="NAME"
      categoryParentId="9223372036854775805"/>   
</dataset>
//
CREATE TABLE Category (
  categoryId       INT          AUTO_INCREMENT,
  categoryName     VARCHAR      NOT NULL,
  categoryParentId INT          NOT NULL,
  PRIMARY KEY (categoryId)
)
//Check - tried to recreate
org.h2.jdbc.JdbcSQLException: Table "CATEGORY" already exists; 

提前致谢。

1 个答案:

答案 0 :(得分:0)

以下是更新后的功能,我为createMarker添加了一个名为label的第三个变量,我将location[2]传递给此变量。

function geocodeAddress(location) {
geocoder.geocode( { 'address': location[1]}, function(results, status) {
//alert(status);
if (status == google.maps.GeocoderStatus.OK) {

  //alert(results[0].geometry.location);
  map.setCenter(results[0].geometry.location);
  createMarker(results[0].geometry.location,location[0]+"<br>"+location[1],location[2]);
}
else
{
  alert("some problem in geocode" + status);
}
 }); 
}

function createMarker(latlng,html,label){
var marker = new google.maps.Marker({
position: latlng,
map: map,
label: label
});