5

次のコードを使用して、jquery、jqueryui-map、およびgoogleMapsAPIを使用してマップに形状を追加しています。

$('#map_canvas').gmap('getCurrentPosition', function(position, status) {
            if ( status === 'OK' ) {
                var clientPosition = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
                $('#map_canvas').gmap('addMarker', {'position': clientPosition, 'bounds': false});
                $("#map_canvas").gmap("option", "center", clientPosition);
                $('#map_canvas').gmap('option', 'zoom', 14);
                $('#map_canvas').gmap('addShape', 'Circle', {
                    'strokeColor': "#008595",
                    'strokeOpacity': 0.8,
                    'strokeWeight': 2,
                    'fillColor': "#008595",
                    'fillOpacity': 0.35,
                    'center': clientPosition,
                    'radius': 50,
                    'clickable': false });
            }
});

また、$('#map_canvas')で.addShapeメソッドを呼び出そうとしました。しかし、次のエラーしか表示されません。

Uncaught TypeError: Cannot call method 'apply' of undefined jquery.ui.map.js:46
$.a.$.fn.(anonymous function) jquery.ui.map.js:46
e.extend.each jquery.min.js:2
e.fn.e.each jquery.min.js:2
$.a.$.fn.(anonymous function) jquery.ui.map.js:40
(anonymous function) :8080:397
$.extend.getCurrentPosition

誰かがこの問題を解決する方法を知っていますか?http://jquery-ui-map.googlecode.com/svn/trunk/demos/jquery-google-maps-geolocation.htmlの例は、何らかの理由で機能します。実際の違いを理解することはできません。 。たぶん私は今盲目になっています;)

ありがとう、

パット

4

3 に答える 3

8

同じ問題があり、言及に失敗した同じドキュメントから生成されましたjquery.ui.map.overlays.js

コードは言う

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript" src="PATH_TO_PLUGIN/jquery.ui.map.js"></script>
<script type="text/javascript" src="PATH_TO_PLUGIN/jquery.ui.map.extensions.js"></script>

実際に必要なとき

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript" src="PATH_TO_PLUGIN/jquery.ui.map.js"></script>
<script type="text/javascript" src="PATH_TO_PLUGIN/jquery.ui.map.overlays.js"></script>

実際、テスト済みで、なくても動作しますjquery.ui.map.extensions.js

于 2012-07-12T07:40:10.327 に答える
1

jquery.ui.map.extensions.js にコメントして jquery.ui.map.overlays.js を追加しましたが、役に立ちませんでした

<script type="text/javascript" charset="utf-8" src="js/jquery-1.9.1.min.js"> </script> 
<script type="text/javascript" src="js/jquery.ui.map.js"></script> 
<!--script type="text/javascript" src="js/jquery.ui.map.extensions.js"></script--> 
<script type="text/javascript" src="js/jquery.ui.map.overlays.js"></script>

これにより、Object # has no method 'getCurrentPosition' エラーが発生します。

次に、jquery.ui.map.extensions.js のコメントを外すと、うまくいきました。

<script type="text/javascript" charset="utf-8" src="js/jquery-1.9.1.min.js"> </script> 
<script type="text/javascript" src="js/jquery.ui.map.js"></script> 
<script type="text/javascript" src="js/jquery.ui.map.extensions.js"></script> 
<script type="text/javascript" src="js/jquery.ui.map.overlays.js"></script>

とにかくモークありがとう!! それは本当に役に立ちました。

于 2013-06-19T15:51:34.327 に答える