使用带有google maps api v3的addresspiquer在地图中绘制圆圈
Posted
技术标签:
【中文标题】使用带有google maps api v3的addresspiquer在地图中绘制圆圈【英文标题】:Draw circle in map using addresspiquer with google maps api v3 【发布时间】:2013-10-19 07:13:02 【问题描述】:我正在使用地址 piquer 地图:
https://github.com/sgruhier/jquery-addresspicker
这是addrespicker库的代码:
https://github.com/sgruhier/jquery-addresspicker/blob/master/src/jquery.ui.addresspicker.js
这个库使用 google maps api v3,我想在这个地图上画一个圆圈。
地址选择器代码为:
$(function ()
var addresspickerMap = $(" '#' ~ form.vars.name ~ '_address_addressAutocomplete' ").addresspicker(
map: map,
regionBias: "es",
mapOptions:
zoom: zoom | default(4) ,
center: new google.maps.LatLng( form.vars.data.address.lat | default(40.46366700000001) , form.vars.data.address.lon | default(-3.7492200000000366)),
scrollwheel: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
,
elements:
map: "#map",
lat: " '#' ~ form.vars.name ~ '_address_lat' ",
lng: " '#' ~ form.vars.name ~ '_address_lon' ",
street_number: " '#' ~ form.vars.name ~ '_address_streetNumber' ",
route: " '#' ~ form.vars.name ~ '_address_street' ",
locality: " '#' ~ form.vars.name ~ '_address_location' ",
administrative_area_level_2: " '#' ~ form.vars.name ~ '_address_region' ",
administrative_area_level_1: " '#' ~ form.vars.name ~ '_address_state' ",
country: " '#' ~ form.vars.name ~ '_address_country' ",
postal_code: " '#' ~ form.vars.name ~ '_address_zipcode' "
);
var gmarker = addresspickerMap.addresspicker("marker");
gmarker.setVisible(true);
addresspickerMap.addresspicker("updatePosition");
);
我证明这段代码可以画圆但不起作用:
var circle = new google.maps.Circle(
map: addresspickerMap.gmap,
radius: 16093, // 10 miles in metres
fillColor: '#AA0000'
);
circle.bindTo('center', gmarker.getPosition(), 'position');
我该怎么做?
谢谢
【问题讨论】:
【参考方案1】:应该是这样的:
var circle = new google.maps.Circle(
map: map,
radius: 16093, // 10 miles in metres
fillColor: '#AA0000',
center: gmarker.getPosition()
);
【讨论】:
谢谢,但我收到此错误:未捕获错误:值对属性无效 该错误消息对我来说毫无意义。如果您直接复制了该错误消息,我会说您的代码中可能有错字(prooperty
而不是property
?)。使用所有地图代码一起更新您的问题。
另外,我不知道这行实际上返回的是什么:var gmarker = addresspickerMap.addresspicker("marker");
我假设一个 Google Marker 对象,它有一个 getPosition 函数。但也许它不是特定于地址选择器插件的东西。无论如何,要使圆工作,您需要在 circleOptions 中指定地图和中心坐标以上是关于使用带有google maps api v3的addresspiquer在地图中绘制圆圈的主要内容,如果未能解决你的问题,请参考以下文章
使用 Google Maps API v3 禁用兴趣点信息窗口
Google Maps JavaScript API v3 方向功能
侧边栏 Google Maps API v3 使用 PHP/MYSQL 提取数据 [关闭]
Google Maps API v3 - 单击标记时如何“提醒”标记ID [重复]
关闭 Google Maps API v3 中的所有信息窗口
Angularjs - ng-map - Google Maps Javascript API v3 - 如何为多个标记设置最佳缩放