将PHP数组传递到Javascript中
我在PHP中有一个如下所示的数组将PHP数组传递到Javascript中,php,jquery,google-maps-api-3,Php,Jquery,Google Maps Api 3,我在PHP中有一个如下所示的数组 array( (int) 0 => array( 'id' => '1', 'name' => 'Mink7', 'about' => 'Creative Design agency', 'logo' => null, 'lat' => '13.004870000000', 'lng' => '77.576686084
array(
(int) 0 => array(
'id' => '1',
'name' => 'Mink7',
'about' => 'Creative Design agency',
'logo' => null,
'lat' => '13.004870000000',
'lng' => '77.576686084656'
),
(int) 1 => array(
'id' => '2',
'name' => 'Bakasura',
'about' => 'Live 2 Eat',
'logo' => null,
'lat' => '13.005643569006',
'lng' => '77.577485382942'
)
)
我做了什么。
我在标题中加载函数,并在body标记中写入以下内容
<script type="text/javascript">
$(document).ready(function(){
var startups = <?php echo json_encode($startups); ?>;
$.each(startups, function(key, val) {
markMe(val.lat, val.lng, val.name, val.description, val.logo);
});
});
</script>
$(文档).ready(函数(){
var初创公司=;
美元。每个(启动、功能(键、val){
markMe(val.lat、val.lng、val.name、val.description、val.logo);
});
});
我得到以下错误
markMe没有定义
markMe(val.lat、val.lng、val.name、val.description、val.logo)
附加到头部的Javascript文件
// JavaScript Document
$(document).ready(function () {
var map = new GMaps({
div: '#map',
lat: 13.00487,
lng: 77.576729,
zoom: 13,
});
/*
GMaps.geolocate({
success: function (position) {
map.setCenter(position.coords.latitude, position.coords.longitude);
},
error: function (error) {
alert('Geolocation failed: ' + error.message);
},
not_supported: function () {
alert("Your browser does not support geolocation");
},
always: function () {
//alert("Done!");
}
});
*/
map.addControl({
position: 'top_right',
text: 'Geolocate',
style: {
margin: '5px',
padding: '1px 6px',
border: 'solid 1px #717B87',
background: '#fff'
},
events: {
click: function () {
GMaps.geolocate({
success: function (position) {
map.setCenter(position.coords.latitude, position.coords.longitude);
},
error: function (error) {
alert('Geolocation failed: ' + error.message);
},
not_supported: function () {
alert("Your browser does not support geolocation");
}
});
}
}
});
map.addMarker({
lat: 13.00487,
lng: 77.576729,
title: 'Lima',
icon: "http://i.imgur.com/3YJ8z.png",
infoWindow: {
content: '<p>HTML Content</p>'
}
});
function markMe(lat, lng, name, description, logo){
map.addMarker({
lat: lat,
lng: lng,
title: name,
icon: "http://i.imgur.com/3YJ8z.png",
infoWindow: {
content: description
}
});
}
});
//JavaScript文档
$(文档).ready(函数(){
var map=新GMAP({
分区:“#地图”,
lat:13.00487,
液化天然气:77.576729,
缩放:13,
});
/*
地理定位({
成功:职能(职位){
map.setCenter(position.coords.lation,position.coords.longitude);
},
错误:函数(错误){
警报(“地理定位失败:”+错误消息);
},
不支持:函数(){
警报(“您的浏览器不支持地理位置”);
},
始终:函数(){
//警报(“完成!”);
}
});
*/
map.addControl({
位置:“右上方”,
文本:“地理定位”,
风格:{
边距:“5px”,
填充:“1px 6px”,
边框:“实心1px#717B87”,
背景:“#fff”
},
活动:{
单击:函数(){
地理定位({
成功:职能(职位){
map.setCenter(position.coords.lation,position.coords.longitude);
},
错误:函数(错误){
警报(“地理定位失败:”+错误消息);
},
不支持:函数(){
警报(“您的浏览器不支持地理位置”);
}
});
}
}
});
map.addMarker({
lat:13.00487,
液化天然气:77.576729,
标题:“利马”,
图标:“http://i.imgur.com/3YJ8z.png",
信息窗口:{
内容:'HTML内容'
}
});
功能标记(lat、lng、名称、说明、徽标){
map.addMarker({
拉特:拉特,
液化天然气:液化天然气,
标题:姓名,
图标:“http://i.imgur.com/3YJ8z.png",
信息窗口:{
内容:说明
}
});
}
});
在PHP中查找,并在JavaScript中使用JSON.parse
(如果需要广泛的浏览器支持,可以使用类似jQuery.parseJSON
的库)
--更新后
而不是
功能标记(lat、lng、名称、说明、徽标){
做:
markMe=功能(lat、lng、名称、说明、徽标){
这是因为函数中声明的函数在该函数之外不可用请在PHP中查找,并在JavaScript中使用JSON.parse
(如果需要广泛的浏览器支持,可以使用类似jQuery.parseJSON
的库)
--更新后
而不是
功能标记(lat、lng、名称、说明、徽标){
做:
markMe=功能(lat、lng、名称、说明、徽标){
这是因为在函数中声明的函数在该函数之外是不可用的在回答之前,我想指出我正在做一些假设
<script type="text/javascript">
<?php
foreach($array as $point)
{
?>
{
map.addMarker({
lat: <?php print $point["lat"]; ?>,
lng: <?php print $point["lng"]; ?>,
title: <?php print $point["name"]; ?>,
icon: <?php if(!is_null($point["logo"]){ print $point["logo"];} ?>,
infoWindow: {
content: <?php print $point["about"]; ?>
}
});
<?php } ?>
</script>
{
map.addMarker({
拉丁语:,
液化天然气:,
标题:,
偶像:
谢谢
尼古拉斯在回答之前,我想指出我正在做一些假设
<script type="text/javascript">
<?php
foreach($array as $point)
{
?>
{
map.addMarker({
lat: <?php print $point["lat"]; ?>,
lng: <?php print $point["lng"]; ?>,
title: <?php print $point["name"]; ?>,
icon: <?php if(!is_null($point["logo"]){ print $point["logo"];} ?>,
infoWindow: {
content: <?php print $point["about"]; ?>
}
});
<?php } ?>
</script>
{
map.addMarker({
拉丁语:,
液化天然气:,
标题:,
偶像:
谢谢
Nicholas是的,我尝试过那种方法..但是我得到了以下错误markMe未定义markMe(val.lat,val.lng,val.name,val.description,val.logo);是的,我尝试过那种方法..但是我得到了以下错误markMe未定义markMe(val.lat,val.lng,val.name,val.description,val.logo);使用$。每个函数我都可以进行迭代。但是它说该函数丢失了。对不起,我的答案是在问题被编辑之前给出的,并且不明显您正在进行JSON调用。我仍然没有进行JSON调用。我正在将数组转换为JSON并将其分配给variableis php或js?php中的顶级数组。我是JSON\e在下一步中编码。编辑我的问题以显示claritywith$。每个函数我都可以进行迭代。但它表示该函数丢失。抱歉,在编辑问题之前,我给出了答案,您没有进行JSON调用。我仍然没有进行JSON调用。我正在将数组转换为JSON并将其分配给变奏曲